Abe Ratnofsky created CASSANDRA-21066:
-----------------------------------------

             Summary: Support Full Repair for tracked keyspaces
                 Key: CASSANDRA-21066
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21066
             Project: Apache Cassandra
          Issue Type: New Feature
            Reporter: Abe Ratnofsky
            Assignee: Abe Ratnofsky


Tracked keyspaces will not support incremental and preview repair as they exist 
today, but will support full repair with hooks to integrate with tracking 
metadata.

Full repair does not synchronize completion of repair streams across replicas, 
so one replica may receive a completed repair stream and make the new SSTables 
live while the remaining repair streams are in progress. In this case, a data 
read from the completed stream will break read monotonicity, since the 
newly-streamed repaired SSTables are not reflected in any tracking summaries:
- Repair 1 completes on Replica A, adds SSTables to live set, visible to reads
- Repair 1 still in-progress on Replica B, no new live SSTables yet
- Coordination executes data read on Replica A, reads from newly-streamed 
SSTables. Mutation summaries are empty on Replica A and Replica B, so read 
response to client is from repaired SSTables.
- Subsequent query coordination executes data read on Replica B, receives empty 
response as repair stream session is still incomplete. Monotonicity violation, 
because prior query returned data from Replica A.

In order to safely execute repair streams, the repair needs to be coordinated 
as a bulk transfer (see CASSANDRA-20383). We also need to disable incremental 
and preview repair for tracked keyspaces.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to