You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@geode.apache.org by zh...@apache.org on 2017/05/08 17:48:46 UTC

geode git commit: GEODE-2824: When advisor cannot found target nodes for bucket id, should double check if the member is offline.

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 <gz...@pivotal.io>
Authored: Sun May 7 17:53:13 2017 -0700
Committer: zhouxh <gz...@pivotal.io>
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: {}",