It looks like this still happens for us with 2.6.1 I'm still trying to figure out all the details, but could it be that we're hitting a race condition here? void endTimeout() { currentTimeout = 0; } public boolean checkTimeout() { if (currentTimeout == 0) { return false; } if (checkTimestampSCN != statementStartTimestamp) { return false; } currentTimeout--; if (currentTimeout <= 0) { currentTimeout = 0; database.txManager.resetSession( Session.this, Session.this, checkTimestampSCN, TransactionManager.resetSessionStatement);...