Skip to content

Pstatementcache must be locked in closeConnectionFully#113

Merged
rbygrave merged 1 commit intoebean-orm:masterfrom
FOCONIS:lock-pstatementcache
Feb 27, 2025
Merged

Pstatementcache must be locked in closeConnectionFully#113
rbygrave merged 1 commit intoebean-orm:masterfrom
FOCONIS:lock-pstatementcache

Conversation

@rPraml
Copy link
Collaborator

@rPraml rPraml commented Feb 27, 2025

We had this exception and can only explain, if the pstatementcache is not properly locked

java.util.ConcurrentModificationException: null
        at java.base/java.util.LinkedHashMap$LinkedHashIterator.nextNode(LinkedHashMap.java:756)
        at java.base/java.util.LinkedHashMap$LinkedValueIterator.next(LinkedHashMap.java:783)
        at io.ebean.datasource.pool.PooledConnection.closeConnectionFully(PooledConnection.java:213)
        at io.ebean.datasource.pool.BusyConnectionBuffer.closeBusyConnection(BusyConnectionBuffer.java:111)
        at io.ebean.datasource.pool.BusyConnectionBuffer.closeBusyConnections(BusyConnectionBuffer.java:101)
        at io.ebean.datasource.pool.PooledConnectionQueue.closeBusyConnections(PooledConnectionQueue.java:402)
        at io.ebean.datasource.pool.PooledConnectionQueue.reset(PooledConnectionQueue.java:328)
        at io.ebean.datasource.pool.ConnectionPool.reset(ConnectionPool.java:563)
        at io.ebean.datasource.pool.ConnectionPool.notifyDataSourceIsDown(ConnectionPool.java:279)
        at io.ebean.datasource.pool.ConnectionPool.testConnection(ConnectionPool.java:366)
        at io.ebean.datasource.pool.ConnectionPool.returnTheConnection(ConnectionPool.java:526)
        at io.ebean.datasource.pool.ConnectionPool.returnConnectionForceClose(ConnectionPool.java:508)
        at io.ebean.datasource.pool.PooledConnection.close(PooledConnection.java:402)
        at io.ebeaninternal.server.transaction.JdbcTransaction.deactivate(JdbcTransaction.java:808)
        at io.ebeaninternal.server.transaction.JdbcTransaction.rollback(JdbcTransaction.java:1055)
        at io.ebeaninternal.api.ScopeTrans.rollback(ScopeTrans.java:194)
        at io.ebeaninternal.api.ScopeTrans.caughtThrowable(ScopeTrans.java:185)
        at io.ebeaninternal.api.ScopeTrans.complete(ScopeTrans.java:120)
        at io.ebeaninternal.api.ScopedTransaction.complete(ScopedTransaction.java:64)
        at io.ebeaninternal.server.transaction.TransactionManager.exitScopedTransaction(TransactionManager.java:469)
        at io.ebeaninternal.server.core.DefaultServer.scopedTransactionExit(DefaultServer.java:718)
        at io.ebeaninternal.api.HelpScopeTrans.exit(HelpScopeTrans.java:26)

@rbygrave rbygrave added this to the 9.3 milestone Feb 27, 2025
@rbygrave rbygrave merged commit d672910 into ebean-orm:master Feb 27, 2025
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants