Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
The integration test logs sometimes show:
Optimistic locking errors were detected when flushing to the data store. The following objects may have been concurrently modified in another transaction: ...
FINERACT-857 has one (of many, this happens fairly regularly..) example logs of this happening. (FINERACT-858 will make the real root cause more clearly stand out in future logs.)
I think we need to catch and handle this problem with explicit retries in the code. Perhaps we can draw inspiration from related work I've done in a previous life, from this code:
- https://github.com/opendaylight/genius/blob/master/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/infra/RetryingManagedNewTransactionRunnerImpl.java
- https://github.com/opendaylight/genius/blob/master/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/infra/RetryingManagedNewTransactionRunner.java#L38
- NOT https://github.com/opendaylight/genius/blob/master/mdsalutil/mdsalutil-api/src/main/java/org/opendaylight/genius/datastoreutils/TaskRetryLooper.java
BTW: This locking issue is probably (but I'm not 100% sure..) completely unrelated to the other one tracked in FINERACT-856.
Attachments
Issue Links
- blocks
-
FINERACT-857 integrationtests.SchedulerJobsTestResults
- Resolved
-
FINERACT-1086 JpaOptimisticLockingFailureException at LoanSchedularServiceImpl.recalculateInterest() - requires retry logic?
- Open
-
FINERACT-683 Concurrent withdraw/deposit transactions to savings account fail with locking errors
- Closed
- is blocked by
-
FINERACT-858 Errors (JobExecutionException) in Cron Jobs loose exception root cause details
- Resolved
- is related to
-
FINERACT-924 SchedulerJobsTestResults.testApplyAnnualFeeForSavingsJobOutcome
- Reopened