[ 
https://issues.apache.org/jira/browse/CASSANDRA-4705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Vijay updated CASSANDRA-4705:
-----------------------------

    Attachment: 0002-Add-Speculative-execution-for-Row-Reads.patch
                0001-Refactor-to-introduce-AbstractReadExecutor.patch

Hi Jonathan, Sorry I missed the mail notification on the comment hence the 
delay.
I have also pushed the updates to 
https://github.com/Vijay2win/cassandra/tree/4705-v5

{quote}
Should split latency tracking into, at least, single-row reads vs index/seq 
scans.
{quote}
This patch doesn't cover the index scans for now, but i will create a ticket to 
include those (Reason being it needs more refactor to track the info), hope 
thats fine.

{quote}
Making the extra call to isSignaled in RC.get is probably a pessimization since 
it is also synchronized
{quote}
Honestly i am not sure why isSignaled is synchronized and set is not volatile, 
i fixed it, hope thats fine.

Done the rest as suggested.

Thanks!
                
> 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

Reply via email to