[
https://issues.apache.org/jira/browse/CASSANDRA-3079?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Stu Hood updated CASSANDRA-3079:
--------------------------------
Attachment: 0002-Fix-try-finally-nesting-for-scheduling.txt
0001-Add-timeouts-to-request-scheduling.txt
0001 Adds the timeouts mentioned above (currently all schedule() calls use
RpcTimeout, pending commit of CASSANDRA-2819)
0002 Fixes the try-finally nesting of schedule calls to avoid spurious
release() calls due to timeouts
> Allow the client request scheduler to throw Timeouts
> ----------------------------------------------------
>
> Key: CASSANDRA-3079
> URL: https://issues.apache.org/jira/browse/CASSANDRA-3079
> Project: Cassandra
> Issue Type: Improvement
> Components: API
> Reporter: Stu Hood
> Assignee: Stu Hood
> Priority: Minor
> Fix For: 1.0
>
> Attachments: 0001-Add-timeouts-to-request-scheduling.txt,
> 0002-Fix-try-finally-nesting-for-scheduling.txt
>
>
> The RoundRobinScheduler prioritizes threads by allowing them to queue on a
> SynchronousQueue per scheduling bucket. These queues currently do not use
> timeouts, and we observed a cascading case where client retries caused the
> scheduler queues to fill such that latency was way above the client timeout.
> Allowing the IRequestScheduler.queue method to throw a (per-call
> configurable) timeout, we can avoid this cascading.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira