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)