You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently have issues with an unexpected ConcurrentModificationException inside the BaseWrapperManagedConnection class.
Under load, this leads to a complete freeze of the connection pool (which is then unable to deliver new connections anymore) - we are then forced to restart the application.
We currently use a IronJacamar 1.5.4.Final; the problem has been found on versions 1.4.38, 1.5.2 and 1.5.4
We had no problem with version 1.4.9.
This problem might have been been introduced with version ~1.4.20, in a change related to JBJCA-1396.
The problem is caused by the BaseWrapperManagedConnection#cleanup() method (line 341)
It iterates on a set, and calls #closeHandle (line 347) on each element, which calls returnHandle(), which finally removes an element from the set (from outside the iterator ^^)
When the set contains more than one element, the iterator detects the change and throws the exception.
Iterating on a copy of the set solved the problem for us (cf PR)
The text was updated successfully, but these errors were encountered:
Hello :)
We currently have issues with an unexpected ConcurrentModificationException inside the BaseWrapperManagedConnection class.
Under load, this leads to a complete freeze of the connection pool (which is then unable to deliver new connections anymore) - we are then forced to restart the application.
We currently use a IronJacamar 1.5.4.Final; the problem has been found on versions 1.4.38, 1.5.2 and 1.5.4
We had no problem with version 1.4.9.
This problem might have been been introduced with version ~1.4.20, in a change related to JBJCA-1396.
Here is an except of the stacktrace :
stacktrace_part.txt
The problem is caused by the BaseWrapperManagedConnection#cleanup() method (line 341)
It iterates on a set, and calls #closeHandle (line 347) on each element, which calls returnHandle(), which finally removes an element from the set (from outside the iterator ^^)
When the set contains more than one element, the iterator detects the change and throws the exception.
Iterating on a copy of the set solved the problem for us (cf PR)
The text was updated successfully, but these errors were encountered: