Robert Stupp created CASSANDRA-10998:
----------------------------------------

             Summary: Snapshots can fail during compactions
                 Key: CASSANDRA-10998
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10998
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Robert Stupp
            Priority: Minor


In an unlucky, unlikely and rare situation, a snapshot can fail when sstables 
are removed (due to compaction) while the snapshots being taken.

So - for example:
# Compaction starts (compact sstable 1, 2, 3 to 4)
# Snapshot operation starts with sstables 1, 2, 3
# Compaction removes sstables 1, 2, 3
# Snapshot tries to hard link to sstables 1, 2, 3 - failure

I think it's a very rare but still possible race condition manifesting in 
{{SSTableReader#createLinks}}, which has been mitigated by CASSANDRA-7066 for 
3.0 (introduced a {{File.exists}} before the actual creation of the hard link).

The problem without CASSANDRA-7066 is, that the snapshot just fails. The 
problem with the if-clause is that the snapshot is inconsistent as it may not 
contain all sstable components or even not all sstables without a failure.



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

Reply via email to