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]