[ https://issues.apache.org/jira/browse/CASSANDRA-15462?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sam Tunnicliffe updated CASSANDRA-15462: ---------------------------------------- Bug Category: Parent values: Correctness(12982) Complexity: Normal Discovered By: Code Inspection Fix Version/s: 4.0-beta Severity: Normal Status: Open (was: Triage Needed) The linked branch is based on the fix for CASSANDRA-15461. We can't actually purge the eligible tombstones when generating the repaired data digest, as this happens before the repaired and unrepaired data is merged. Instead, we supply a {{PurgeFunction}} to the digest generating function, which uses it to test which tombstones are going to be purged from the final result, excluding them from the digest if necessary. The main complication is that we don't know whether a partition will be completely purged until after it has been processed. o work around this, we create an overall digest for the entire resultset and a temporary digest of the current partition, only adding the temporary digest to the overall if the partition is not fully purged. ||branch||CI|| |[15462-4.0|https://github.com/beobal/cassandra/tree/15462-4.0]|[circle|https://circleci.com/gh/beobal/workflows/cassandra/tree/15462-4.0]| > Purgable tombstones can cause false positives in repaired data tracking > ----------------------------------------------------------------------- > > Key: CASSANDRA-15462 > URL: https://issues.apache.org/jira/browse/CASSANDRA-15462 > Project: Cassandra > Issue Type: Bug > Components: Observability/Metrics > Reporter: Sam Tunnicliffe > Assignee: Sam Tunnicliffe > Priority: Normal > Fix For: 4.0-beta > > > Calculating the repaired data digest on the read path (for the purposes of > detecting mismatches in the repaired data across replicas) is done before > purging any tombstones due to gcgs or last repaired time. This causes false > positives when repaired sstables include GC-able tombstones on some replicas > but not others. > Validation compactions do purge tombstones so it's perfectly possible for > sstables to mismatch in this way without causing any streaming during repair. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org