jchen21 commented on a change in pull request #6051:
URL: https://github.com/apache/geode/pull/6051#discussion_r582416387



##########
File path: 
geode-core/src/main/java/org/apache/geode/internal/cache/DistributedCacheOperation.java
##########
@@ -1107,6 +1107,10 @@ protected void process(final ClusterDistributionManager 
dm) {
 
         final LocalRegion lclRgn = getLocalRegionForProcessing(dm);
         sendReply = false;
+        if (lclRgn != null && lclRgn.getScope().isDistributedNoAck()) {
+          dm.getExecutors().getWaitingThreadPool().execute(() -> 
basicProcess(dm, lclRgn));

Review comment:
       I have the same concern. When a thread runs, if it throws an exception 
that is not caught, then that exception will just silently kill the thread. 
This can make it very hard to diagnose what is happening. The current thread 
has a few `catch` blocks and a `finally` block (line 1115-1147). If the newly 
spawned thread does not have the `catch` and `finally` blocks, I would like to 
understand why.
   
   Another question is why use `getWaitingThreadPool()`  and not the other 
pool, e.g. `getThreadPool()`? 




----------------------------------------------------------------
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.

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


Reply via email to