You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benedict Elliott Smith (Jira)" <ji...@apache.org> on 2021/09/08 17:50:00 UTC

[jira] [Created] (CASSANDRA-16925) Task Execution

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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org