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

Jonathan Ellis resolved CASSANDRA-1988.
---------------------------------------

       Resolution: Won't Fix
    Fix Version/s:     (was: 1.0)

> Prefer to throw Unavailable rather than Timeout
> -----------------------------------------------
>
>                 Key: CASSANDRA-1988
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-1988
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: API
>            Reporter: Stu Hood
>
> When a node is unreachable, but is not yet being reported dead by gossip, 
> messages are enqueued in the messaging service to be sent when the node 
> becomes available again (on the assumption that the connection dropped 
> temporarily).
> Higher up in the client layer, before sending messages to other nodes, we 
> check that they are alive according to gossip, and fail fast with 
> UnavailableException if they are not (CASSANDRA-1803). If we send messages to 
> nodes that are not yet being reported dead, the messages sit in queue, and 
> time out rather than being sent: this results in the client request failing 
> with a TimeoutException.
> If we differentiate between messages that were never sent (aka, are still 
> queued in the MessagingService at the end of the timeout), and messages that 
> were sent but didn't get a response, we can properly throw 
> UnavailableException in the former case.

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

        

Reply via email to