Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Fixed
-
None
-
Normal
Description
In CASSANDRA-11448 in an effort to give a more thorough handling of flush errors I have introduced a possible correctness bug with disk failure policy ignore if a flush fails with an error:
- we report the error but continue
- we correctly do not update the commit log with the flush position
- but we allow the post-flush executor to resume
- a successful later flush can thus move the log's clear position beyond the data from the failed flush
- the log will then delete segment(s) that contain unflushed data.
After CASSANDRA-9669 it is relatively easy to fix this problem by making the commit log track sets of intervals of unflushed data (as described in CASSANDRA-8496).
Attachments
Issue Links
- blocks
-
CASSANDRA-8496 Remove MemtablePostFlusher
- Open
- is related to
-
CASSANDRA-11448 Running OOS should trigger the disk failure policy
- Resolved
-
CASSANDRA-12436 Under some races commit log may incorrectly think it has unflushed data
- Resolved