Details
-
Task
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
The current logic for executing a commit in LockBasedScheduler is unnecessarily intricate, containing separate strategies for optimistic and pessimistic merges. While these would have made sense in a hierarchical, multi-journal approach, when using a single journal file we always end up on the optimistic merge branch, since a commit semaphore is acquired before attempting to merge the commit. The proposal is to remove LockBasedScheduler#optimisticMerge and LockBasedScheduler#pessimisticMerge methods, simplifying the logic inside LockBasedScheduler#execute.