Benedict created CASSANDRA-9669:
-----------------------------------

             Summary: If sstable flushes complete out of order, on restart we 
can fail to replay necessary commit log records
                 Key: CASSANDRA-9669
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9669
             Project: Cassandra
          Issue Type: Bug
          Components: Core
            Reporter: Benedict
            Priority: Critical


While {{postFlushExecutor}} ensures it never expires CL entries out-of-order, 
on restart we simply take the maximum replay position of any sstable on disk, 
and ignore anything prior. 

It is quite possible for there to be two flushes triggered for a given table, 
and for the second to finish first by virtue of containing a much smaller 
quantity of live data (or perhaps the disk is just under less pressure). If we 
crash before the first sstable has been written, then on restart the data it 
would have represented will disappear, since we will not replay the CL records.

This looks to be a bug present since time immemorial, and also seems pretty 
serious.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to