[ https://issues.apache.org/jira/browse/CASSANDRA-12252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15575432#comment-15575432 ]
Carl Yeksigian commented on CASSANDRA-12252: -------------------------------------------- Since EACH_QUORUM is not a typical consistency level for users, I think it makes sense to try to continue to use the simple ReadCallback that we currently have which does not need to track each DC independently, only the number of responses, for all other consistency levels, and only add the complexity of a DC aware counter if we are using a DC-aware consistency level (possibly adding this support for LOCAL_* consistency levels as well). For speculative retry, we can't select a single node to retry before we send the first set of requests - we need to know which DCs have failed to responded before we can properly choose the next node to try. In this case, we will need the information from the read callback to determine which DC hasn't responded yet, and then can choose the next replica to which to send an additional request. This can be done with a new SpeculativeRetry type since this will not be the usual case. > Support RR and Speculative Retry for EACH_QUORUM reads > ------------------------------------------------------ > > Key: CASSANDRA-12252 > URL: https://issues.apache.org/jira/browse/CASSANDRA-12252 > Project: Cassandra > Issue Type: Improvement > Reporter: Carl Yeksigian > Priority: Minor > > We should properly support read repair and speculative retry for EACH_QUORUM > reads. > To support these, we need to make sure that we count responses for each DC > separately, so that we can properly monitor the number of responses from > each. For speculative retry, we should try to replace each host that we are > retrying with one in the same DC; that will make sure that we actually have > the correct responses at the end if the speculative retries are successful. -- This message was sent by Atlassian JIRA (v6.3.4#6332)