Repository: ignite Updated Branches: refs/heads/master 05f5c070e -> a31c0a2e3
IGNITE-10830 Return semantics of ServiceTopologyCallable - Fixes #5760. Signed-off-by: Alexey Goncharuk <alexey.goncha...@gmail.com> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a31c0a2e Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a31c0a2e Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a31c0a2e Branch: refs/heads/master Commit: a31c0a2e36e0b8cd5d664155148abb372dd6dba1 Parents: 05f5c07 Author: Vyacheslav Daradur <daradu...@gmail.com> Authored: Fri Dec 28 10:43:44 2018 +0300 Committer: Alexey Goncharuk <alexey.goncha...@gmail.com> Committed: Fri Dec 28 15:16:35 2018 +0300 ---------------------------------------------------------------------- .../processors/service/GridServiceProcessor.java | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/a31c0a2e/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java index 8fcbe4a..bcdb8e5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/service/GridServiceProcessor.java @@ -905,7 +905,7 @@ public class GridServiceProcessor extends ServiceProcessorAdapter implements Ign ClusterNode node = cache.affinity().mapKeyToNode(name); - final ServiceTopologyCallable call = new ServiceTopologyCallable(name, pendingJobCtxs); + final ServiceTopologyCallable call = new ServiceTopologyCallable(name); return ctx.closure().callAsyncNoFailover( GridClosureCallMode.BROADCAST, @@ -2079,16 +2079,11 @@ public class GridServiceProcessor extends ServiceProcessorAdapter implements Ign @LoggerResource private transient IgniteLogger log; - /** */ - private final List<ComputeJobContext> pendingCtxs; - /** * @param svcName Service name. - * @param pendingCtxs Pending compute job contexts that waiting for utility cache initialization. */ - public ServiceTopologyCallable(String svcName, List<ComputeJobContext> pendingCtxs) { + public ServiceTopologyCallable(String svcName) { this.svcName = svcName; - this.pendingCtxs = pendingCtxs; } /** {@inheritDoc} */ @@ -2096,6 +2091,8 @@ public class GridServiceProcessor extends ServiceProcessorAdapter implements Ign IgniteInternalCache<Object, Object> cache = ignite.context().cache().utilityCache(); if (cache == null) { + List<ComputeJobContext> pendingCtxs = ((GridServiceProcessor)ignite.context().service()).pendingJobCtxs; + synchronized (pendingCtxs) { // Double check cache reference after lock acqusition. cache = ignite.context().cache().utilityCache();