jiajunwang commented on a change in pull request #365: Fix RoutingTableProvider
statePropagationLatency metric reporting bug
URL: https://github.com/apache/helix/pull/365#discussion_r309839047
##########
File path:
helix-core/src/main/java/org/apache/helix/common/caches/CurrentStateCache.java
##########
@@ -136,8 +136,8 @@ private void refreshCurrentStatesCache(HelixDataAccessor
accessor,
cachedKeys.retainAll(currentStateKeys);
Map<PropertyKey, CurrentState> newStateCache = Collections.unmodifiableMap(
- refreshProperties(accessor, new ArrayList<>(reloadKeys), new
ArrayList<>(cachedKeys),
- _currentStateCache));
+ refreshProperties(accessor, reloadKeys, new ArrayList<>(cachedKeys),
+ _currentStateCache, reloadKeys));
Review comment:
What you need is a list contains the reloaded key. It does not have to be
the original "reloadKeys". The current code put the same object as the input
and the output. That means the input will be modified. This just loses the
benefit of splitting the input and the output parameters.
Actually, I'm OK with both design: 1. one parameter, or 2. two parameters
but sending with different objects. Prefered 2nd one.
However, two parameters but sending the same object looks strange.
----------------------------------------------------------------
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]
With regards,
Apache Git Services