[
https://issues.apache.org/jira/browse/CASSANDRA-16925?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Benedict Elliott Smith updated CASSANDRA-16925:
-----------------------------------------------
Fix Version/s: 4.x
Source Control Link:
[e215d2a5b25991b47cec66cc1a970d835b89005b|https://github.com/apache/cassandra/commit/e215d2a5b25991b47cec66cc1a970d835b89005b]
Resolution: Fixed
Status: Resolved (was: Ready to Commit)
> Task Execution
> --------------
>
> Key: CASSANDRA-16925
> URL: https://issues.apache.org/jira/browse/CASSANDRA-16925
> Project: Cassandra
> Issue Type: Improvement
> Components: Legacy/Core
> Reporter: Benedict Elliott Smith
> Assignee: Benedict Elliott Smith
> Priority: Normal
> Fix For: 4.x
>
>
> 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]