[
https://issues.apache.org/jira/browse/CASSANDRA-4705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13565048#comment-13565048
]
Jonathan Ellis commented on CASSANDRA-4705:
-------------------------------------------
Thanks, that makes it a lot easier to follow the refactor.
v6 pushed to https://github.com/jbellis/cassandra/branches/4705-v6 with a bunch
of changes. Biggest is, simplified SpeculativeReadExecutor.speculate under the
reasoning that if an earlier request hasn't been serviced yet on a given
replica, sending a second request to the same one probably won't help. Also,
realized sorting the speculation wasn't necessary after all. LMKWYT.
> Speculative execution for Reads
> -------------------------------
>
> Key: CASSANDRA-4705
> URL: https://issues.apache.org/jira/browse/CASSANDRA-4705
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Vijay
> Assignee: Vijay
> Fix For: 2.0
>
> Attachments: 0001-CASSANDRA-4705.patch, 0001-CASSANDRA-4705-v2.patch,
> 0001-CASSANDRA-4705-v3.patch,
> 0001-Refactor-to-introduce-AbstractReadExecutor.patch,
> 0002-Add-Speculative-execution-for-Row-Reads.patch
>
>
> When read_repair is not 1.0, we send the request to one node for some of the
> requests. When a node goes down or when a node is too busy the client has to
> wait for the timeout before it can retry.
> It would be nice to watch for latency and execute an additional request to a
> different node, if the response is not received within average/99% of the
> response times recorded in the past.
> CASSANDRA-2540 might be able to solve the variance when read_repair is set to
> 1.0
> 1) May be we need to use metrics-core to record various Percentiles
> 2) Modify ReadCallback.get to execute additional request speculatively.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira