cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <>
Subject [jira] [Commented] (CASSANDRA-2848) Make the Client API support passing down timeouts
Date Wed, 25 Jun 2014 09:30:25 GMT


Robert Stupp commented on CASSANDRA-2848:

"one remaining flag" means that the next protocol level feature would require a "bigger" code
change and protocol incompatibility. Suggestion: use 0x80 flag as an "extensions" flag. In
the notation of the protocol spec:

<extension> consists of the <extension_id> followed by [short] <n> indicating
the length of <n> [bytes] extension payload data
<extension_id> a [byte] indicating the extension type 
                extension types are:
                        0x00 query timeout with fixed length 8 consisting of a [long] timeout
value in milliseconds
There are some RFEs (e.g. _LOCAL_QUORUM_REMOTE_n_) that also require protocol level changes
- this one could be encoded on the wire with CL=LOCAL_QUORUM plus an extension that defines
the _required remote quorum_ (just as an example).

> Make the Client API support passing down timeouts
> -------------------------------------------------
>                 Key: CASSANDRA-2848
>                 URL:
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: Chris Goffinet
>            Priority: Minor
> Having a max server RPC timeout is good for worst case, but many applications that have
middleware in front of Cassandra, might have higher timeout requirements. In a fail fast environment,
if my application starting at say the front-end, only has 20ms to process a request, and it
must connect to X services down the stack, by the time it hits Cassandra, we might only have
10ms. I propose we provide the ability to specify the timeout on each call we do optionally.

This message was sent by Atlassian JIRA

View raw message