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

Reply via email to