Repository: geode Updated Branches: refs/heads/develop 72d0d4baa -> 3f1482b68
GEODE-2824: When advisor cannot found target nodes for bucket id, should double check if the member is offline. Project: http://git-wip-us.apache.org/repos/asf/geode/repo Commit: http://git-wip-us.apache.org/repos/asf/geode/commit/3f1482b6 Tree: http://git-wip-us.apache.org/repos/asf/geode/tree/3f1482b6 Diff: http://git-wip-us.apache.org/repos/asf/geode/diff/3f1482b6 Branch: refs/heads/develop Commit: 3f1482b689db67a764b1f6507d4482a45e4bd11f Parents: 72d0d4b Author: zhouxh <[email protected]> Authored: Sun May 7 17:53:13 2017 -0700 Committer: zhouxh <[email protected]> Committed: Mon May 8 10:48:02 2017 -0700 ---------------------------------------------------------------------- .../internal/cache/execute/FunctionExecutionNodePruner.java | 8 ++++++++ 1 file changed, 8 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/geode/blob/3f1482b6/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionExecutionNodePruner.java ---------------------------------------------------------------------- diff --git a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionExecutionNodePruner.java b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionExecutionNodePruner.java index 18700a7..1639474 100755 --- a/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionExecutionNodePruner.java +++ b/geode-core/src/main/java/org/apache/geode/internal/cache/execute/FunctionExecutionNodePruner.java @@ -54,6 +54,14 @@ public class FunctionExecutionNodePruner { try { for (Integer bucketId : buckets) { Set<InternalDistributedMember> nodes = pr.getRegionAdvisor().getBucketOwners(bucketId); + if (nodes.isEmpty()) { + if (isDebugEnabled) { + logger.debug( + "FunctionExecutionNodePruner: The buckets owners of the bucket: {} are empty, double check if they are all offline", + bucketId); + } + nodes.add(pr.getOrCreateNodeForBucketRead(bucketId)); + } if (isDebugEnabled) { logger.debug("FunctionExecutionNodePruner: The buckets owners of the bucket: {} are: {}",
