ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sboi...@apache.org
Subject [08/41] incubator-ignite git commit: # IGNITE-54-55 Bug fixes.
Date Fri, 06 Feb 2015 12:16:34 GMT
# IGNITE-54-55 Bug fixes.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/052b4362
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/052b4362
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/052b4362

Branch: refs/heads/ignite-164v2
Commit: 052b4362663fc189a07e602f7aaec3e0a9809f0e
Parents: c0571b8
Author: sevdokimov <sevdokimov@gridgain.com>
Authored: Thu Feb 5 17:51:55 2015 +0300
Committer: sevdokimov <sevdokimov@gridgain.com>
Committed: Thu Feb 5 17:51:55 2015 +0300

----------------------------------------------------------------------
 .../GridDistributedCacheAdapter.java            | 33 +++++++++++++-------
 1 file changed, 21 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/052b4362/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
index 71e7157..937438c 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/GridDistributedCacheAdapter.java
@@ -211,24 +211,33 @@ public abstract class GridDistributedCacheAdapter<K, V> extends
GridCacheAdapter
 
             final GridCacheContext<K, V> ctx = cacheAdapter.context();
 
-            if (ctx.affinity().affinityTopologyVersion() != topVer)
-                return null; // Ignore this remove request because remove request will be
sent again.
+            ctx.affinity().affinityReadyFuture(topVer).get();
 
-            if (cacheAdapter instanceof GridNearCacheAdapter)
-                cacheAdapter = ((GridNearCacheAdapter<K, V>)cacheAdapter).dht();
+            ctx.gate().enter();
 
-            GridDhtCacheAdapter<K, V> dht = (GridDhtCacheAdapter<K, V>)cacheAdapter;
+            try {
+                if (ctx.affinity().affinityTopologyVersion() != topVer)
+                    return null; // Ignore this remove request because remove request will
be sent again.
 
-            IgniteDataLoader<K, V> dataLdr = ignite.dataLoader(cacheName);
+                GridDhtCacheAdapter<K, V> dht;
 
-            for (GridDhtLocalPartition<K, V> locPart : dht.topology().currentLocalPartitions())
{
-                if (!locPart.isEmpty() && locPart.primary(topVer)) {
-                    for (GridDhtCacheEntry<K, V> o : locPart.entries())
-                        dataLdr.removeData(o.key());
+                if (cacheAdapter instanceof GridNearCacheAdapter)
+                    dht = ((GridNearCacheAdapter<K, V>)cacheAdapter).dht();
+                else
+                    dht = (GridDhtCacheAdapter<K, V>)cacheAdapter;
+
+                try (IgniteDataLoader<K, V> dataLdr = ignite.dataLoader(cacheName))
{
+                    for (GridDhtLocalPartition<K, V> locPart : dht.topology().currentLocalPartitions())
{
+                        if (!locPart.isEmpty() && locPart.primary(topVer)) {
+                            for (GridDhtCacheEntry<K, V> o : locPart.entries())
+                                dataLdr.removeData(o.key());
+                        }
+                    }
                 }
             }
-
-            dataLdr.close();
+            finally {
+                ctx.gate().leave();
+            }
 
             return null;
         }


Mime
View raw message