[ https://issues.apache.org/jira/browse/CASSANDRA-14316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
C. Scott Andreas updated CASSANDRA-14316: ----------------------------------------- Component/s: Coordination > Read repair mutations should be sent to pending nodes > ----------------------------------------------------- > > Key: CASSANDRA-14316 > URL: https://issues.apache.org/jira/browse/CASSANDRA-14316 > Project: Cassandra > Issue Type: Improvement > Components: Coordination > Reporter: Blake Eggleston > Priority: Major > > Since read repair doesn't mirror mutations to pending endpoints, it seems > likely that there's an edge case that can break the monotonic quorum read > guarantee blocking read repair is supposed to provide. > Assuming there are 3 nodes (A, B, & C) which replicate a token range. A new > node D is added, which will take over some of A's token range. During the > bootstrap of D, if there's a failed write that only makes it to a single node > (A) after bootstrap has started, then there's a quorum read including A & B, > which replicates that value to B. If A is removed when D finishes > bootstrapping, a quorum read including node C & D will not see the value > returned in the last quorum read which queried A & B. > Table to illustrate: > |state | A | B | C | D| > |1 begin | | | | pending| > |2 write |1 | | | pending| > |3 repair|1|1| | pending| > |4 joined| n/a |1| | | -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org