mirror of https://github.com/apache/cassandra
- consumer and producer threads wait signal without acquiring the lock first - lock owners may prepare more work than they need, moving some dynamically-adjusted portion of the work from the prioritised lock-managed structures onto a non-blocking queue, so that other threads may consume work from there; the portion is continually micro-adjusted to target some available work whenever the lock is acquired. - adopts/supports some features of the SEPExecutor: - threads may auto-adjust the number of running threads based on how much time is collectively spent waiting, to minimise time spent signalling - consumers may (timed-sleep) poll rather than await a signal, reducing the number of kernel interactions needed; relying on the auto-adjustment to bound the time the scheduler spends waking threads with no work to do Also Fix: - Client Result should not be persisted or included in Command object at any time patch by Benedict; reviewed by Alex Petrov and Ariel Weisberg for CASSANDRA-21375 |
||
|---|---|---|
| .. | ||
| accord@a081e19e33 | ||