jiajunwang commented on a change in pull request #974:
URL: https://github.com/apache/helix/pull/974#discussion_r425370983
##########
File path:
helix-core/src/main/java/org/apache/helix/common/caches/TaskDataCache.java
##########
@@ -194,9 +194,9 @@ private void
refreshContextsAndPreviousAssignments(HelixDataAccessor accessor) {
}
}
- List<ZNRecord> contexts = accessor.getBaseDataAccessor().get(contextPaths,
null, 0);
+ List<ZNRecord> contexts = accessor.getBaseDataAccessor().get(contextPaths,
null, 0, true);
Review comment:
It will fail the current pipeline, which is what we want. Otherwise, the
rebalance will be done based on incomplete information.
If false, it will return partial result.
##########
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:
"partial read would not terminate rest flow", true. But it will cause
the controller to make the wrong decision. Which is even worse. To prevent this
is the target of this change.
I don't think it will fail the ZkEvent thread. All the callers as I can find
has been try-catched. Do you have an example of exception?
----------------------------------------------------------------
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]