Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-286 83f972149 -> f19cb584d


#ignite-286: refactoring.


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

Branch: refs/heads/ignite-286
Commit: f19cb584d2c30c01a75cae717cc24bc59370cb7d
Parents: 83f9721
Author: ivasilinets <[email protected]>
Authored: Mon Apr 27 17:58:06 2015 +0300
Committer: ivasilinets <[email protected]>
Committed: Mon Apr 27 17:58:06 2015 +0300

----------------------------------------------------------------------
 .../processors/cache/GridCacheSwapManager.java   | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/f19cb584/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java
index 208f1a8..0f23e07 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/GridCacheSwapManager.java
@@ -1626,16 +1626,25 @@ public class GridCacheSwapManager extends 
GridCacheManagerAdapter {
      * @return Partitions.
      */
     private int[] partitions(boolean primary, boolean backup) {
-        if (primary && backup)
-            return 
cctx.grid().affinity(cctx.name()).allPartitions(cctx.localNode());
+        AffinityTopologyVersion ver = 
cctx.affinity().affinityTopologyVersion();
+
+        Set<Integer> parts = null;
+
+        if (primary && backup) {
+            int[] primaryParts = 
U.toIntArray(cctx.affinity().primaryPartitions(cctx.localNodeId(), ver));
+
+            int[] backupParts = 
U.toIntArray(cctx.affinity().backupPartitions(cctx.localNodeId(), ver));
+
+            return U.addAll(primaryParts, backupParts);
+        }
 
         if (primary)
-            return 
cctx.grid().affinity(cctx.name()).primaryPartitions(cctx.localNode());
+            parts = cctx.affinity().primaryPartitions(cctx.localNodeId(), ver);
 
         if (backup)
-            return 
cctx.grid().affinity(cctx.name()).backupPartitions(cctx.localNode());
+            parts = cctx.affinity().backupPartitions(cctx.localNodeId(), ver);
 
-        return new int[0];
+        return parts != null ? U.toIntArray(parts)  : new int[0];
     }
 
     /**

Reply via email to