Benedict Elliott Smith created CASSANDRA-16925:
--------------------------------------------------

             Summary: Task Execution
                 Key: CASSANDRA-16925
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16925
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Benedict Elliott Smith


To support CEP-10 it is necessary to support alternative executor 
implementations that may be externally controlled. This ticket introduces an 
ExecutorFactory, and all executor creation is migrated to this facility. The 
codebase’s use of executors is inconsistent, and relatedly there are divergent 
Future APIs in use, with Netty, Guava and Java APIs in use in various places. 
To improve consistency we introduce our own Future API that implements all of 
the above, as well as providing other additional ergonomic improvements. We 
introduce a new ExecutorPlus API that extends Executor to supply this extended 
Future API. All executors and futures are ported to these new APIs to improve 
coherency in the codebase, and to support consistently mocking these 
implementations.

DebuggableThreadPoolExecutor and its hierarchy is replaced with 
ThreadPoolExecutorBase, ThreadPoolExecutorPlus and extending classes with 
consistent names, implementations and configurability.

Additionally the ExecutorFactory takes over the allocation of new threads, and 
provides a new InfiniteLoopExecutorfacility for common paradigms.




--
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