Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
SegmentNodeStore currently uses a semaphore to coordinate concurrent commits thus relying on the scheduling algorithm of that implementation and ultimately of the JVM for in what order commits are processed.
I think it would be beneficial to replace that semaphore with an explicit queue of pending commit. This would allow us to implement a proper scheduler optimising for e.g. minimal system load, maximal throughput or minimal latency etc. A scheduler could e.g. give precedence to big commits and order commits along the order of its base revisions, which would decrease the amount of work to be done in rebasing.
Attachments
Issue Links
- blocks
-
OAK-3349 Partial compaction
- Closed
- is blocked by
-
OAK-4464 Move FileStore.ChangeDispatcher to TarRevisions
- Closed
- is depended upon by
-
OAK-4015 Expedite commits from the compactor
- Closed
-
OAK-4732 (Slightly) prioritise reads over writes
- Closed
- is related to
-
OAK-4881 Make merge semaphore in SegmentNodeStore fair by default
- Closed
- relates to
-
OAK-4522 Improve CommitRateLimiter to optionally block some commits
- Closed