[ 
https://issues.apache.org/jira/browse/CASSANDRA-16924?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17418810#comment-17418810
 ] 

Aleksei Zotov commented on CASSANDRA-16924:
-------------------------------------------

This one turned out to be much harder to review than the previous one. I posted 
some comments on the PR, please, check them and let me know if they make some 
sense to you. I was not familiar with most of the existing custom 
synchronization/concurrency classes in Cassandra. I did my best, but reviewing 
unknown multi-threading code is really hard, so I could overlook something :)

> Blocking Concurrency Primitives
> -------------------------------
>
>                 Key: CASSANDRA-16924
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16924
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Legacy/Core
>            Reporter: Benedict Elliott Smith
>            Assignee: Benedict Elliott Smith
>            Priority: Normal
>
> 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