cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stu Hood (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-1988) Prefer to throw Unavailable rather than Timeout
Date Sat, 15 Jan 2011 05:03:45 GMT


Stu Hood commented on CASSANDRA-1988:

In particular, on CASSANDRA-1964, the lag between the connection dying and gossip noticing
the death was up to 20 seconds, meaning we received TimeoutException twice before getting
an UnavailableException.

> Prefer to throw Unavailable rather than Timeout
> -----------------------------------------------
>                 Key: CASSANDRA-1988
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: API
>            Reporter: Stu Hood
>             Fix For: 0.8
> 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.
You can reply to this email to add a comment to the issue online.

View raw message