#IGNITE-99:  Rewrite allPartitions().

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

Branch: refs/heads/sprint-1
Commit: bd6847717308652a6ebed680882a0a3a20d71fee
Parents: dc7fc31
Author: ivasilinets <ivasilin...@gridgain.com>
Authored: Fri Jan 23 17:18:12 2015 +0300
Committer: ivasilinets <ivasilin...@gridgain.com>
Committed: Fri Jan 23 17:18:12 2015 +0300

----------------------------------------------------------------------
 .../processors/affinity/GridAffinityProcessor.java  | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/bd684771/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityProcessor.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityProcessor.java
 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityProcessor.java
index 68cc5d2..f55c0f2 100644
--- 
a/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityProcessor.java
+++ 
b/modules/core/src/main/java/org/gridgain/grid/kernal/processors/affinity/GridAffinityProcessor.java
@@ -623,11 +623,19 @@ public class GridAffinityProcessor extends 
GridProcessorAdapter {
         /** {@inheritDoc} */
         @Override public int[] allPartitions(ClusterNode n) {
             try {
-                Set<Integer> parts = 
GridAffinityProcessor.this.affinityCache(cacheName, topologyVersion())
-                    .assignment.backupPartitions(n.id());
+                Collection<Integer> parts = new HashSet<>();
+
+                AffinityInfo affInfo= 
GridAffinityProcessor.this.affinityCache(cacheName, topologyVersion());
 
-                
parts.addAll(GridAffinityProcessor.this.affinityCache(cacheName, 
topologyVersion())
-                    .assignment.primaryPartitions(n.id()));
+                for (int partsCnt = affInfo.affFunc.partitions(), part = 0; 
part < partsCnt; part++) {
+                    for (ClusterNode affNode : affInfo.assignment.get(part)) {
+                        if (n.id().equals(affNode.id())) {
+                            parts.add(part);
+
+                            break;
+                        }
+                    }
+                }
 
                 return U.toIntArray(parts);
             }

Reply via email to