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]