[
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: [email protected]
For additional commands, e-mail: [email protected]