You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Caleb Rackliffe (Jira)" <ji...@apache.org> on 2021/08/25 17:52:00 UTC

[jira] [Created] (CASSANDRA-16883) Weak visibility guarantees of Accumulator can lead to failure to recognize digest mismatches

Caleb Rackliffe created CASSANDRA-16883:
-------------------------------------------

             Summary: Weak visibility guarantees of Accumulator can lead to failure to recognize digest mismatches
                 Key: CASSANDRA-16883
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16883
             Project: Cassandra
          Issue Type: Bug
          Components: Consistency/Coordination
            Reporter: Caleb Rackliffe
            Assignee: Caleb Rackliffe


The context for this problem is largely the same as CASSANDRA-16807. The difference is that for 4.0+, CASSANDRA-16097 added an assertion to {{DigestResolver#responseMatch()}} that ensures the responses snapshot has at least one visible element (although of course only one element trivially cannot generate a mismatch and short-circuits immediately). In 3.0 and 3.11, this assertion does not exist, and when the underlying problem occurs (i.e. zero responses are visible on {{Accumulator}} when there should be 2), we can silently avoid the digest matching entirely. This seems like it would make it both impossible to do a potentially necessary full data read to resolve the correct response and prevent repair.

The fix here should be similar to the one in CASSANDRA-16807, although there might be some test infrastructure that needs porting in order to make that work.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org