[ https://issues.apache.org/jira/browse/CASSANDRA-15004?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16759853#comment-16759853 ]
Benedict commented on CASSANDRA-15004: -------------------------------------- Blake realised there was an issue with the patch he posted, so I have put together an alternative patch with input from [~krummas]. [3.0|https://github.com/belliottsmith/cassandra/tree/15004-3.0] [3.11|https://github.com/belliottsmith/cassandra/tree/15004-3.11] [4.0|https://github.com/belliottsmith/cassandra/tree/15004-4.0] These patches extract an interface for {{LifecycleTransaction}} and no-op the relevant calls ({{prepareToCommit}} and {{obsoleteOriginals}}) so that {{SSTableRewriter.prepareToCommit}} does not update the tracker - these are then invoked directly once each rewriter has finished its other preparatory work. It's a bit ugly and still finicky, but probably better/safer than more invasive surgery at this point in time. > Anti-compaction briefly removes sstables from the read path > ----------------------------------------------------------- > > Key: CASSANDRA-15004 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15004 > Project: Cassandra > Issue Type: Bug > Reporter: Blake Eggleston > Assignee: Blake Eggleston > Priority: Major > Fix For: 4.0, 3.0.x, 3.11.x > > > Since we use multiple sstable rewriters in anticompaction, the first call to > prepareToCommit will remove the original sstables from the tracker view > before the other rewriters add their sstables. This creates a brief window > where reads can miss data. -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org