Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
None
Description
There is a small window in FileStore.flush that could lead to data corruption: if we crash right after setting the persisted head but before any delay-flushed SegmentBufferWriter instance flushes (see SegmentBufferWriterPool.returnWriter()) then that data is lost although it might already be referenced from the persisted head.
We need to come up with a test case for this.
A possible fix would be to return a future from SegmentWriter.flush and rely on a completion callback. Such a change would most likely also be useful for OAK-3690.
Attachments
Attachments
Issue Links
- is related to
-
OAK-3348 Cross gc sessions might introduce references to pre-compacted segments
- Closed