You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Andrey Gura (JIRA)" <ji...@apache.org> on 2016/02/12 17:47:18 UTC
[jira] [Created] (IGNITE-2646) IgniteCompute.withAsync can execute
tasks synchronously
Andrey Gura created IGNITE-2646:
-----------------------------------
Summary: IgniteCompute.withAsync can execute tasks synchronously
Key: IGNITE-2646
URL: https://issues.apache.org/jira/browse/IGNITE-2646
Project: Ignite
Issue Type: Bug
Components: compute
Affects Versions: 1.5.0.final
Reporter: Andrey Gura
Assignee: Andrey Gura
{{GridTaskWorker}} can invoke {{reduce}} method in caller thread.
If task isn't annotated by {{@ComputeTaskMapAsync}} then job mapping will be run in caller thread. Since job mapping will be finished {{processDelayedResponses}} method will be invoked and if delayed responses queue isn't empty then caller thread can invoke {{reduce}} method eventually and perform reducing synchronously.
It can be usefull in case of synchronous execution but, it is strange behavior for asynchronous case because user expects that method will return after creation of task.
Similar behavior is possible for all places where code invokes {{GridTaskProcessor.execute()}} method ({{IgniteCompute.broadcast()}}, {{IgniteCache.size()}}, REST handlers, etc.)
Rerated discussion on dev-list: [IgniteCompute.withAsync can execute tasks synchronously|http://apache-ignite-developers.2346864.n4.nabble.com/IgniteCompute-withAsync-can-execute-tasks-synchronously-td7262.html]
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)