ignite-5272
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/a951bee8 Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/a951bee8 Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/a951bee8 Branch: refs/heads/ignite-5272 Commit: a951bee81cf0036f789faf8e91364b98cca09414 Parents: 7a72733 Author: sboikov <[email protected]> Authored: Tue Jun 13 15:24:06 2017 +0300 Committer: sboikov <[email protected]> Committed: Tue Jun 13 15:24:06 2017 +0300 ---------------------------------------------------------------------- .../internal/managers/discovery/GridDiscoveryManager.java | 2 +- .../ignite/internal/processors/cache/GridCacheProcessor.java | 1 + .../cache/distributed/dht/atomic/GridDhtAtomicCache.java | 2 +- .../processors/cache/distributed/near/GridNearCacheEntry.java | 5 +++++ .../processors/cache/IgniteNearClientCacheCloseTest.java | 2 -- 5 files changed, 8 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/a951bee8/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 b7024ab..0f0d1c9 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 @@ -2922,7 +2922,7 @@ public class GridDiscoveryManager extends GridManagerAdapter<DiscoverySpi> { if (ctx.localNodeId().equals(node.id())) { GridCacheContext cctx = ctx.cache().context().cacheContext(cacheId); - return cctx != null ? cctx.isNear() : null; + return cctx != null ? CU.isNearEnabled(cctx) : null; } return clientNodes.get(node.id()); http://git-wip-us.apache.org/repos/asf/ignite/blob/a951bee8/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java index fea11e6..efc9555 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheProcessor.java @@ -2103,6 +2103,7 @@ public class GridCacheProcessor extends GridProcessorAdapter { ids.add(ctx.cacheId()); if (!ctx.affinityNode() && !locked) { + // Do not close client cache while requests processing is in progress. sharedCtx.io().writeLock(); locked = true; http://git-wip-us.apache.org/repos/asf/ignite/blob/a951bee8/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java index 3373bae..52f007a 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/atomic/GridDhtAtomicCache.java @@ -3243,7 +3243,7 @@ public class GridDhtAtomicCache<K, V> extends GridDhtCacheAdapter<K, V> { if (req.nearSize() > 0) { List<KeyCacheObject> nearEvicted; - if (isNearEnabled(cacheCfg)) + if (isNearEnabled(ctx)) nearEvicted = ((GridNearAtomicCache<K, V>)near()).processDhtAtomicUpdateRequest(nodeId, req, nearRes); else { nearEvicted = new ArrayList<>(req.nearSize()); http://git-wip-us.apache.org/repos/asf/ignite/blob/a951bee8/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java ---------------------------------------------------------------------- diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java index c813afa..b17d0b5 100644 --- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java +++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/near/GridNearCacheEntry.java @@ -292,6 +292,11 @@ public class GridNearCacheEntry extends GridDistributedCacheEntry { @Override protected void recordNodeId(UUID primaryNodeId, AffinityTopologyVersion topVer) { assert Thread.holdsLock(this); + assert topVer.compareTo(cctx.affinity().affinityTopologyVersion()) <= 0 : "Affinity not ready [" + + "topVer=" + topVer + + ", readyVer=" + cctx.affinity().affinityTopologyVersion() + + ", cache=" + cctx.name() + ']'; + primaryNode(primaryNodeId, topVer); } http://git-wip-us.apache.org/repos/asf/ignite/blob/a951bee8/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteNearClientCacheCloseTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteNearClientCacheCloseTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteNearClientCacheCloseTest.java index 8a9a46c..58fb512 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteNearClientCacheCloseTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/IgniteNearClientCacheCloseTest.java @@ -18,14 +18,12 @@ package org.apache.ignite.internal.processors.cache; import java.util.ArrayList; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.TreeMap; import java.util.concurrent.Callable; import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.atomic.AtomicBoolean; -import java.util.concurrent.atomic.AtomicInteger; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.Ignition;
