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