[
https://issues.apache.org/jira/browse/IGNITE-26775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mikhail Petrov updated IGNITE-26775:
------------------------------------
Description:
According to IEP-143 Unified Operation Context Propagation, operation context
propagation must be integrated into the thread pools used in the Ignite
codebase. Thread pools must automatically capture an Operation Context snapshot
during task submission and restore it during task execution.
This forces us to restrict the usage of built-in JDK thread pool
implementations and replace them with Ignite-specific implementations that
support the Context Propagation feature.
The control over class usage restriction must be implemented as a rule for
the static code analyzer.
The following thread pool classes should be considered:
• IgniteThreadPoolExecutor
• IgniteStripedExecutor
• IgniteStripedThreadPoolExecutor
• ForkJoinPool
• ScheduledExecutorService
The usage of the following built-in JDK classes should be restricted:
• java.util.concurrent.ForkJoinPool
• java.util.concurrent.Executors factory methods
• java.util.concurrent.ThreadPoolExecutor
• java.util.concurrent.ScheduledThreadPoolExecutor
was:
According to
https://cwiki.apache.org/confluence/display/IGNITE/IEP-143+Unified+Operation+Context+Propagation
thread pools used in Ignite code must automatically capture the operation
context during task submission and restore it during task execution.
And usage of build-in JDK pools must be restricted via static code analyzer.
The following Thread Pool classes should be considered:
IgniteThreadPoolExecutor
IgniteStripedExecutor
IgniteStipedThreadPoolExecutor
ForkJoinPool
ScheduledExecutorService
The usage of the following classes should be restricted
java.util.concurrent.ForkJoinPool
java.util.concurrent.Executors factory methods
java.util.concurrent.ThreadPoolExecutor
java.util.concurrent.ScheduledThreadPoolExecutor
> Replace all uses of ThreadPools with Operation Context aware equivalents.
> -------------------------------------------------------------------------
>
> Key: IGNITE-26775
> URL: https://issues.apache.org/jira/browse/IGNITE-26775
> Project: Ignite
> Issue Type: Task
> Reporter: Mikhail Petrov
> Assignee: Mikhail Petrov
> Priority: Major
> Labels: IEP-143, ise
> Fix For: 2.19
>
> Time Spent: 2h 50m
> Remaining Estimate: 0h
>
> According to IEP-143 Unified Operation Context Propagation, operation
> context propagation must be integrated into the thread pools used in the
> Ignite codebase. Thread pools must automatically capture an Operation Context
> snapshot during task submission and restore it during task execution.
> This forces us to restrict the usage of built-in JDK thread pool
> implementations and replace them with Ignite-specific implementations that
> support the Context Propagation feature.
> The control over class usage restriction must be implemented as a rule for
> the static code analyzer.
> The following thread pool classes should be considered:
> • IgniteThreadPoolExecutor
> • IgniteStripedExecutor
> • IgniteStripedThreadPoolExecutor
> • ForkJoinPool
> • ScheduledExecutorService
> The usage of the following built-in JDK classes should be restricted:
> • java.util.concurrent.ForkJoinPool
> • java.util.concurrent.Executors factory methods
> • java.util.concurrent.ThreadPoolExecutor
> • java.util.concurrent.ScheduledThreadPoolExecutor
--
This message was sent by Atlassian Jira
(v8.20.10#820010)