Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
0.32, qpid-java-6.0.6, qpid-java-6.1.1, qpid-java-broker-7.0.0
-
None
Description
Currently, when a LockConflictException is thrown we retry the operation.
However the retry logic does not adhere to the rules outlined in the BDB JE documentation, specifically we do not close and recreate the Cursor.
To quote the documentation:
If a lock conflict occurs during a transaction, the transaction may be retried by performing the following steps. [...]:
- Close all cursors opened under the transaction.
- Abort the transaction.
- Begin a new transaction and repeat the operations.
The impact of not doing this is unclear.