cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vijay (JIRA)" <j...@apache.org>
Subject [jira] [Comment Edited] (CASSANDRA-4705) Speculative execution for CL_ONE
Date Sun, 30 Sep 2012 03:04:08 GMT

    [ https://issues.apache.org/jira/browse/CASSANDRA-4705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13466390#comment-13466390
] 

Vijay edited comment on CASSANDRA-4705 at 9/30/12 2:02 PM:
-----------------------------------------------------------

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). It also supports ALL, AUTO, NONE (current
behavior) as per jonathan's comment above.

But 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
                
      was (Author: vijay2win@yahoo.com):
    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

Mime
View raw message