Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
None
Description
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.
Attachments
Attachments
Issue Links
- is related to
-
CASSANDRA-3096 Test RoundRobinScheduler timeouts
- Resolved
- relates to
-
CASSANDRA-2819 Split rpc timeout for read and write ops
- Resolved