Benedict Elliott Smith created CASSANDRA-16924:
--------------------------------------------------

             Summary: Blocking Concurrency Primitives
                 Key: CASSANDRA-16924
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16924
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Benedict Elliott Smith


To support CEP-10 it is necessary to support alternative implementations of the 
blocking concurrency primitives we use on the project. At the same time, the 
project is very inconsistent in its usage of these APIs, so this work includes 
a number of improvements to the coherency of the codebase. 

This ticket introduces new abstractions and standardises old ones, migrating 
all blocking concurrency operations besides Futures returned by Executors to 
these new APIs. This includes a migration of SimpleCondition to a new 
Conditioninterface, new CountDownLatch and Semaphore interfaces, and new static 
factory methods for creating these objects (as well as WaitQueue) that can be 
intercepted by byte weaving. Additionally the internal Netty Future 
implementation is improved to support more general use (though this is only 
fully realised in a later ticket), OpOrder is improved to more easily support 
mocking WaitQueue.

Finally we standardise the propagation of InterruptedExecption, with the new 
UncheckedInterruptedException, so that simulations may be terminated cleanly.




--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to