Richard Low created CASSANDRA-10726:
---------------------------------------

             Summary: Read repair inserts should not be blocking
                 Key: CASSANDRA-10726
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10726
             Project: Cassandra
          Issue Type: Improvement
          Components: Coordination
            Reporter: Richard Low


Today, if there’s a digest mismatch in a foreground read repair, the insert to 
update out of date replicas is blocking. This means, if it fails, the read 
fails with a timeout. If a node is dropping writes (maybe it is overloaded or 
the mutation stage is backed up for some other reason), all reads to a replica 
set could fail. Further, replicas dropping writes get more out of sync so will 
require more read repair.

The comment on the code for why the writes are blocking is:

{code}
// wait for the repair writes to be acknowledged, to minimize impact on any 
replica that's
// behind on writes in case the out-of-sync row is read multiple times in quick 
succession
{code}

but the bad side effect is that reads timeout. Either the writes should not be 
blocking or we should return success for the read even if the write times out.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to