Details
-
Technical task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
Description
Currently SegmentBufferWriter.flush() directly calls SegmentStore.writeSegment() once the current segment does not have enough space for the next record. We should try to cut this dependency as SegmentBufferWriter should only be concerned with providing buffers for segments. Actually writing these to the store should be handled by a higher level component.
A number of deadlock (e.g. (OAK-2560, OAK-3179, OAK-3264) we have seen is one manifestation of this troublesome dependency.