break; InternalDistributedMember node = findNextNode( nodeToBucketsMap.entrySet(), currentBucketSet); if (node == null) {
public static HashMap<InternalDistributedMember, HashSet<Integer>> groupByMemberToBuckets( PartitionedRegion pr, Set<Integer> bucketSet, boolean primaryOnly) { if (primaryOnly) { HashMap<InternalDistributedMember, HashSet<Integer>> memberToBucketsMap = new HashMap(); try { for (Integer bucketId : bucketSet) { InternalDistributedMember mem = pr.getOrCreateNodeForBucketWrite( bucketId, null); HashSet buckets = memberToBucketsMap.get(mem); if (buckets == null) { buckets = new HashSet(); // faster if this was an ArrayList memberToBucketsMap.put(mem, buckets); } buckets.add(bucketId); } } catch (NoSuchElementException done) { } return memberToBucketsMap; } else { return pruneNodes(pr,bucketSet); } } }
final boolean hasRoutingObjects = execution.hasRoutingObjects(); HashMap<Integer, HashSet> bucketToKeysMap = FunctionExecutionNodePruner .groupByBucket(this, routingKeys, primaryMembersNeeded, hasRoutingObjects); HashMap<InternalDistributedMember, HashSet> memberToKeysMap = new HashMap<InternalDistributedMember, HashSet>(); HashMap<InternalDistributedMember, HashSet<Integer>> memberToBuckets = FunctionExecutionNodePruner .groupByMemberToBuckets(this, bucketToKeysMap.keySet(), primaryMembersNeeded); memberToBuckets = FunctionExecutionNodePruner.groupByMemberToBuckets( this, bucketToKeysMap.keySet(), primaryMembersNeeded); .getBucketSet(PartitionedRegion.this, localKeys, hasRoutingObjects); FunctionRemoteContext context = new FunctionRemoteContext(function, execution.getArgumentsForMember(recip.getId()), memKeys, FunctionExecutionNodePruner.getBucketSet(this, memKeys, hasRoutingObjects), execution.isReExecute(), execution.isFnSerializationReqd(), tx);
.groupByMemberToBuckets(this, bucketSet, function.optimizeForWrite()); .groupByMemberToBuckets(this, bucketSet, function.optimizeForWrite()); }else{ execution.clearFailedNodes();
final boolean hasRoutingObjects = execution.hasRoutingObjects(); HashMap<Integer, HashSet> bucketToKeysMap = FunctionExecutionNodePruner .groupByBucket(this, routingKeys, primaryMembersNeeded, hasRoutingObjects, isBucketSetAsFilter); HashMap<InternalDistributedMember, HashSet> memberToKeysMap = new HashMap<InternalDistributedMember, HashSet>(); HashMap<InternalDistributedMember, HashSet<Integer>> memberToBuckets = FunctionExecutionNodePruner .groupByMemberToBuckets(this, bucketToKeysMap.keySet(), primaryMembersNeeded); memberToBuckets = FunctionExecutionNodePruner.groupByMemberToBuckets( this, bucketToKeysMap.keySet(), primaryMembersNeeded); .getBucketSet(PartitionedRegion.this, localKeys, hasRoutingObjects, isBucketSetAsFilter); FunctionRemoteContext context = new FunctionRemoteContext(function, execution.getArgumentsForMember(recip.getId()), memKeys, FunctionExecutionNodePruner.getBucketSet(this, memKeys, hasRoutingObjects, isBucketSetAsFilter), execution.isReExecute(), execution.isFnSerializationReqd());
.groupByMemberToBuckets(this, bucketSet, function.optimizeForWrite()); .groupByMemberToBuckets(this, bucketSet, function.optimizeForWrite()); }else{ execution.clearFailedNodes();
.groupByMemberToBuckets(this, bucketSet, function.optimizeForWrite()); memberToBuckets = FunctionExecutionNodePruner.groupByMemberToBuckets( this, bucketSet, function.optimizeForWrite());
public static HashMap<InternalDistributedMember, HashSet<Integer>> groupByMemberToBuckets( PartitionedRegion pr, Set<Integer> bucketSet, boolean primaryOnly) { if (primaryOnly) { HashMap<InternalDistributedMember, HashSet<Integer>> memberToBucketsMap = new HashMap(); try { for (Integer bucketId : bucketSet) { InternalDistributedMember mem = pr.getOrCreateNodeForBucketWrite( bucketId, null); HashSet buckets = memberToBucketsMap.get(mem); if (buckets == null) { buckets = new HashSet(); // faster if this was an ArrayList memberToBucketsMap.put(mem, buckets); } buckets.add(bucketId); } } catch (NoSuchElementException done) { } return memberToBucketsMap; } else { return pruneNodes(pr,bucketSet); } } }
break; InternalDistributedMember node = findNextNode( nodeToBucketsMap.entrySet(), currentBucketSet); if (node == null) {
.groupByMemberToBuckets(this, bucketSet, function.optimizeForWrite()); memberToBuckets = FunctionExecutionNodePruner.groupByMemberToBuckets( this, bucketSet, function.optimizeForWrite());