[ https://issues.apache.org/jira/browse/CASSANDRA-4705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13466390#comment-13466390 ]
Vijay commented on CASSANDRA-4705: ---------------------------------- I pushed the prototype code into https://github.com/Vijay2win/cassandra/commit/62bbabfc41ba8e664eb63ba50110e5f5909b2a87 Looks like metrics-core exposes 75, 95, 97, 99 and 99.9 Percentile's, with my tests 75P is too low, and 99 is too high to make a difference, whereas 95P long tail looks better (Moving average doesn't make much of a difference too). I still think we should also support hard coded value in addition to the auto :) Note: have to make the speculative_retry part of the schema but currently if you want to test it out it is a code change in CFMetaData > Speculative execution for CL_ONE > -------------------------------- > > Key: CASSANDRA-4705 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4705 > Project: Cassandra > Issue Type: Improvement > Affects Versions: 1.2.0 > Reporter: Vijay > Assignee: Vijay > Priority: Minor > > 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