Aleksey Yeschenko created CASSANDRA-11980:
---------------------------------------------

             Summary: Reads at EACH_QUORUM not respecting the level with read 
repair or speculative retry active
                 Key: CASSANDRA-11980
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11980
             Project: Cassandra
          Issue Type: Bug
          Components: Coordination
            Reporter: Aleksey Yeschenko


{{ReadCallback::waitingFor()}} is not sophisticated enough to correctly count 
replies from replicas towards {{blockFor}}, and can return to the client before 
getting an actual quorum in each of the DCs.

Assume DC1: n1, n2, n3; DC2: n4, n5, n6; blockFor in this case would be 4. 
{{ReadCallback}} does not count replies from different DCs separately, however, 
so if the replies return in order of n1, n2, n3, n4, the request will still 
succeed, having achieved 4, despite not getting a quorum from DC2.

The bug potentially manifests itself if RR.GLOBAL, RR.LOCAL, or any speculative 
retry triggers.

The easiest fix would be to temporarily disable RR and speculative retry on 
each quorum reads.



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

Reply via email to