kirklund commented on a change in pull request #7051:
URL: https://github.com/apache/geode/pull/7051#discussion_r737907499



##########
File path: 
geode-core/src/main/java/org/apache/geode/internal/cache/execute/PartitionedRegionFunctionExecutor.java
##########
@@ -215,21 +215,27 @@ public 
PartitionedRegionFunctionExecutor(PartitionedRegion region, Set filter2,
 
   @Override
   public ResultCollector executeFunction(final Function function, long 
timeout, TimeUnit unit) {
-    if (!function.hasResult()) /* NO RESULT:fire-n-forget */ {
-      this.pr.executeFunction(function, this, null, this.executeOnBucketSet);
-      return NO_RESULT;
-    }
-    ResultCollector inRc = (rc == null) ? new DefaultResultCollector() : rc;
-    ResultCollector rcToReturn =
-        this.pr.executeFunction(function, this, inRc, this.executeOnBucketSet);
-    if (timeout > 0) {
-      try {
-        rcToReturn.getResult(timeout, unit);
-      } catch (Exception exception) {
-        throw new FunctionException(exception);
+    try {
+      if (!function.hasResult()) /* NO RESULT:fire-n-forget */ {
+        this.pr.executeFunction(function, this, null, this.executeOnBucketSet);
+        return NO_RESULT;
+      }
+      ResultCollector inRc = (rc == null) ? new DefaultResultCollector() : rc;
+      ResultCollector rcToReturn =
+          this.pr.executeFunction(function, this, inRc, 
this.executeOnBucketSet);
+      if (timeout > 0) {
+        try {
+          rcToReturn.getResult(timeout, unit);
+        } catch (Exception exception) {
+          throw new FunctionException(exception);
+        }
+      }
+      return rcToReturn;
+    } finally {
+      if (pr.getNetworkHopType() != PartitionedRegion.NETWORK_HOP_NONE) {
+        pr.clearNetworkHopData();

Review comment:
       You should probably add some unit test(s) for this. I'd start a new 
`PartitionedRegionFunctionExecutorTest`.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to