[
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: [email protected]
For additional commands, e-mail: [email protected]