[
https://issues.apache.org/jira/browse/CASSANDRA-13988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16236282#comment-16236282
]
Michaël Figuière commented on CASSANDRA-13988:
----------------------------------------------
Looking into it, it seems like the {{ReadCommand#getTimeout()}} abstract method
offers a convenient opportunity to implement this feature.
> Add a timeout field to EXECUTE / QUERY / BATCH messages
> -------------------------------------------------------
>
> Key: CASSANDRA-13988
> URL: https://issues.apache.org/jira/browse/CASSANDRA-13988
> Project: Cassandra
> Issue Type: Improvement
> Reporter: Michaël Figuière
> Priority: Minor
>
> The request timeout at the coordinator level is currently statically
> configured through the {{request_timeout_in_ms}} and
> {{xxx_request_timeout_in_ms}} parameters in cassandra.yaml. There would be
> some benefits in making it possible for the client to dynamically define it
> through the CQL Protocol:
> * In practice, there's often a misalignment between the timeout configured in
> Cassandra and in the client leading non-optimal query execution flow, where
> the coordinator continues to work while the client is not waiting anymore, or
> where the client waits for too long for a potential response. The 99th
> percentile latency can be significantly impacted by such issues.
> * While the read timeout is typically statically configured on the Drivers,
> on the Java Driver 3.x the developer is free to set a custom timeout using
> {{ResultSetFuture#get(long, TimeUnit)}} which can lead to an extra
> misalignment of timeouts with the coordinator. The Java Driver 4.x will make
> the timeout configurable per query through its new {{DriverConfigProfile}}
> abstraction.
> * It makes it possible for applications to shift to a "remaining time budget"
> approach rather than the often inappropriate static timeout one. Also, the
> Java Driver 4.x plans to change its definition of {{readTimeout}} from a per
> execution attempt time to an overall query execution time. So the Driver
> itself would also be able to work on a "remaining time budget" for each of
> its execution attempts.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]