IGNITE-10392 Use lasdAffChangedTopVer if DiscoCache for the requested topVer isn't ready - Fixes #5488.
Signed-off-by: Alexey Goncharuk <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/5c01c419 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/5c01c419 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/5c01c419 Branch: refs/heads/ignite-9720 Commit: 5c01c4199df3ba3a479d4566561335d57adffd0f Parents: 5b656e2 Author: Ilya Lantukh <[email protected]> Authored: Fri Nov 23 20:23:16 2018 +0300 Committer: Alexey Goncharuk <[email protected]> Committed: Fri Nov 23 20:23:16 2018 +0300 ---------------------------------------------------------------------- .../internal/managers/discovery/GridDiscoveryManager.java | 8 ++++++++ 1 file changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/5c01c419/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java index 476fe7e..0a982b0 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/managers/discovery/GridDiscoveryManager.java @@ -2058,6 +2058,14 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> { snap.discoCache : discoCacheHist.get(topVer); if (cache == null) { + AffinityTopologyVersion lastAffChangedTopVer = + ctx.cache().context().exchange().lastAffinityChangedTopologyVersion(topVer); + + DiscoCache lastAffChangedDiscoCache = discoCacheHist.get(lastAffChangedTopVer); + + if (lastAffChangedDiscoCache != null) + return lastAffChangedDiscoCache; + CacheGroupDescriptor desc = ctx.cache().cacheGroupDescriptors().get(grpId); throw new IgniteException("Failed to resolve nodes topology [" +
