kaisun2000 commented on a change in pull request #974:
URL: https://github.com/apache/helix/pull/974#discussion_r425340619



##########
File path: 
helix-core/src/main/java/org/apache/helix/manager/zk/CallbackHandler.java
##########
@@ -525,7 +526,7 @@ public void invoke(NotificationContext changeContext) 
throws Exception {
 
   private <T extends HelixProperty> List<T> preFetch(PropertyKey key) {
     if (_preFetchEnabled) {
-      return _accessor.getChildValues(key);
+      return _accessor.getChildValues(key, true);

Review comment:
       Same question. Before this change, partial read would not terminate rest 
flow, so onLiveInstance(), onMessage() etc would be called. 
   Now if exception thrown, this is not the case. This would 
   1/ result onLiveInstance() etc not called, but the exception got caught in 
the ZkEvent thread.
   2/ For Molly's change to add perodical checking messages PULL request, this 
would break the time thread which calls onMessage(). Basically if the exception 
thrown from onMessage() when timer thread calls this one, this would stop later 
timer thread I believe. (We can test. I recall Java Concurrency Controller book 
mentioned this issue there.) This would defeat the purpose of Molly's change.




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



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to