You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Valentin Kulichenko (JIRA)" <ji...@apache.org> on 2017/08/30 04:57:00 UTC

[jira] [Created] (IGNITE-6219) IgniteCache#loadCache executes local load in caller thread

Valentin Kulichenko created IGNITE-6219:
-------------------------------------------

             Summary: IgniteCache#loadCache executes local load in caller thread
                 Key: IGNITE-6219
                 URL: https://issues.apache.org/jira/browse/IGNITE-6219
             Project: Ignite
          Issue Type: Bug
          Components: cache
    Affects Versions: 2.1
            Reporter: Valentin Kulichenko
            Priority: Critical
             Fix For: 2.2


{{IgniteCache#loadCache}} method broadcasts an internal task under the hood. If one of the jobs are local (i.e. if {{loadCache}} is invoked on server node), this job is executed in a caller thread, potentially *before all or some remote requests are sent*. Since data loading is generally long running process, its duration doubles in this scenario.

Possible solution is to check the list of nodes before task execution, and if local node is there, execute on remote nodes first, and only then submit to local node. This way we make sure that remote nodes never wait for the local node.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)