[ https://issues.apache.org/jira/browse/CASSANDRA-10998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15096963#comment-15096963 ]
Robert Stupp commented on CASSANDRA-10998: ------------------------------------------ Note: my evaluation is probably wrong - need to investigate where the {{FileNotFoundException}}'s really thrown. > 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)