[ 
https://issues.apache.org/jira/browse/IGNITE-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15924413#comment-15924413
 ] 

Taras Ledkov commented on IGNITE-4699:
--------------------------------------

[~sharpler],
1. Please clarify the question. I think the answer is "only to separate the 
jobs into groups" (see *p.3* below);
2. Now in the Ignite a thread pool is configured only with the pool size, 
without names, keep alive params etc. It is simple and enough;
3. It must solve the deadlock in case the one compute job (*A*) produces 
another compute jobs (*B*). If all the jobs use one thread pool and thread 
starvation is happened the *A* job waits for compute results and hold the 
thread and there are no free threads in the pool to execute *B* jobs.

> Introduce custom configurable executors.
> ----------------------------------------
>
>                 Key: IGNITE-4699
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4699
>             Project: Ignite
>          Issue Type: Task
>          Components: compute
>            Reporter: Vladimir Ozerov
>            Assignee: Alexander Menshikov
>             Fix For: 2.0
>
>
> We need to provide a way to configure custom thread pools for user compute 
> tasks. 
> Proposed API:
> 1) Config
> {code}
> class ExecutorConfiguration {
>     String name;
>     int size;
> }
> {code}
> 2) Choosing executor for compute task:
> {code}
> IgniteCompute compute = Ignite.compute().withExecutor("my_exec");
> {code}
> 3) Accessing raw executor (could be required for proper execution of future 
> listeners):
> {code}
> ThreadPoolExecutor exec = ignite.compute().localExecutor("my_exec");
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to