[ https://issues.apache.org/jira/browse/CASSANDRA-13611?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16051626#comment-16051626 ]
Sylvain Lebresne commented on CASSANDRA-13611: ---------------------------------------------- I don't disagree with the need in general, but the cleanest way to support this given the existing is imo to extend speculative retries a little bit. Namely, we almost support this with the {{ALWAYS}} speculative retry option, in that in that case we request 2 full data reads right away instead of 1. Note that if {{RF=3}} (and read_repair_chance is 0), this does exactly what the description wants. For higher {{RF}} though, we'll still only do 2 full data reads and use digests for the rest. But it feels natural to me to simply have a more aggressive option that does something like {{ALWAYS}} but for all replica instead of just '1 more than normal'. Something like {{ALWAYS_WITH_ALL}}, except that it's probably a terrible name. > Digest mismatch in Quorum read > ------------------------------ > > Key: CASSANDRA-13611 > URL: https://issues.apache.org/jira/browse/CASSANDRA-13611 > Project: Cassandra > Issue Type: Improvement > Components: Coordination > Reporter: Dikang Gu > Assignee: Dikang Gu > Fix For: 4.x > > > In current implementation, when we issue a quorum read, C* will send full > data request to one replica, and send digest requests to other replicas. If > the digest mismatch, C* will send another round of full data request to all > replicas. > In our environment, we find in P99 case, digest are always mismatch, so we > are doing 2 round trips of requests in P99, which hurts our P99 latency a lot. > We propose that in quorum read case, we send full data replicas to the quorum > replicas directly, reconcile them and send back to client. In our experiment > , it reduced the P99 latency by 20% ~ 30%. -- This message was sent by Atlassian JIRA (v6.4.14#64029) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org