[
https://issues.apache.org/jira/browse/IGNITE-4699?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15943583#comment-15943583
]
Alexander Menshikov commented on IGNITE-4699:
---------------------------------------------
[~vozerov]
Thank you for answer. As far as I know Akka's dispatchers exist not for avoid
deadlock, but for using different schedule algorithms (like create a thread for
every task in IO-dispatcher, but create fix number of thread for
computing-dispatcher). I agree with your argument for first two alternative.
> Also we do not want to precisely control subtasking on our own because we
> will have to propagate execution chains to our messages and to various
> thread-local mechanics, what will make our engine less efficient.
Did I understand you correctly, this mechanism will not be the main and this
task will be solved only for the sake of appearance? And this is a reason why
we need simpler implementation?
I am asking because I still think it's hard for user to manage thread pools.
You said "If you have more or less complex application on top of the grid with
some level of abstractions and asynchrony, it is nearly impossible to know
whether you have nested call or not ...", but it also applies to thread pools
management.
> 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
> Labels: important
> 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)