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

Melvin Wang commented on CASSANDRA-2819:
----------------------------------------

looks like readcallback, repaircallback, abstractWriteresponseHandler all 
assume the timeout value from getRpcTimeout(); however with this patch, 
ExpiringMap will timeout different messages with different values, so we may 
have situation where expiringMap already expires the message while the get() 
still blocks if we have different read_rpc_timeout/write_rpc_timeout with the 
'default' rpc timeout. I'm wondering if we could modify the IAsyncCallback so 
that we expiringMap expires a message, it will signal the callback and mark it 
as a failure, and hence in get() we don't need to have the logic to track the 
timeout.

> Split rpc timeout for read and write ops
> ----------------------------------------
>
>                 Key: CASSANDRA-2819
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2819
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: Core
>            Reporter: Stu Hood
>            Assignee: Melvin Wang
>             Fix For: 1.0
>
>         Attachments: 2819-v4.txt, rpc-jira.patch
>
>
> Given the vastly different latency characteristics of reads and writes, it 
> makes sense for them to have independent rpc timeouts internally.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to