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 |
||
|---|---|---|
| .. | ||
| anttasks/org/apache/cassandra/anttasks | ||
| bin | ||
| burn/org/apache/cassandra | ||
| conf | ||
| data | ||
| distributed/org/apache/cassandra | ||
| harry/main/org/apache/cassandra | ||
| long/org/apache/cassandra | ||
| memory/org/apache/cassandra/db/compaction | ||
| microbench/org/apache/cassandra/test/microbench | ||
| resources | ||
| simulator | ||
| unit | ||