This is an automated email from the ASF dual-hosted git repository.
jxue pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/helix.git
The following commit(s) were added to refs/heads/master by this push:
new 55841c19b Code cleanup and improvement with modern java syntax (#2449)
55841c19b is described below
commit 55841c19bfb657f0bbdb01ef4d71e23753068f8a
Author: Qi (Quincy) Qu <[email protected]>
AuthorDate: Tue Apr 18 18:52:44 2023 -0400
Code cleanup and improvement with modern java syntax (#2449)
Mostly the change is on replacing stream().forEach() with collection
forEach()
---
.../helix/common/caches/CustomizedStateCache.java | 4 ++--
.../helix/common/caches/InstanceMessagesCache.java | 8 +++----
.../trimmer/HelixPropertyTrimmer.java | 10 ++++----
.../rebalancer/waged/WagedRebalancer.java | 6 ++---
.../constraints/ConstraintBasedAlgorithm.java | 7 +++---
.../rebalancer/waged/model/ClusterContext.java | 15 +++++-------
.../waged/model/ClusterModelProvider.java | 25 ++++++++++----------
.../controller/stages/CurrentStateOutput.java | 5 +---
.../stages/IntermediateStateCalcStage.java | 11 ++++-----
.../java/org/apache/helix/model/ClusterConfig.java | 27 ++++++++++------------
.../org/apache/helix/model/InstanceConfig.java | 11 ++++-----
.../zookeeper/zkclient/metric/ZkClientMonitor.java | 2 +-
12 files changed, 58 insertions(+), 73 deletions(-)
diff --git
a/helix-core/src/main/java/org/apache/helix/common/caches/CustomizedStateCache.java
b/helix-core/src/main/java/org/apache/helix/common/caches/CustomizedStateCache.java
index ba7895368..f79c502a1 100644
---
a/helix-core/src/main/java/org/apache/helix/common/caches/CustomizedStateCache.java
+++
b/helix-core/src/main/java/org/apache/helix/common/caches/CustomizedStateCache.java
@@ -54,8 +54,8 @@ public class CustomizedStateCache extends
ParticipantStateCache<CustomizedState>
for (String instanceName : liveInstanceMap.keySet()) {
for (String customizedStateType : _aggregationEnabledTypes) {
accessor.getChildNames(keyBuilder.customizedStates(instanceName,
customizedStateType))
- .stream().forEach(resourceName -> participantStateKeys
- .add(keyBuilder.customizedState(instanceName, customizedStateType,
resourceName)));
+ .forEach(resourceName ->
+
participantStateKeys.add(keyBuilder.customizedState(instanceName,
customizedStateType, resourceName)));
}
}
return participantStateKeys;
diff --git
a/helix-core/src/main/java/org/apache/helix/common/caches/InstanceMessagesCache.java
b/helix-core/src/main/java/org/apache/helix/common/caches/InstanceMessagesCache.java
index fbd025ea8..c06837349 100644
---
a/helix-core/src/main/java/org/apache/helix/common/caches/InstanceMessagesCache.java
+++
b/helix-core/src/main/java/org/apache/helix/common/caches/InstanceMessagesCache.java
@@ -554,10 +554,10 @@ public class InstanceMessagesCache {
}
}
- toRemoveMessages.entrySet().stream().forEach(entry -> {
- entry.getValue().stream().forEach(id ->
_staleMessageCache.get(entry.getKey()).remove(id));
- if (_staleMessageCache.get(entry.getKey()).size() == 0) {
- _staleMessageCache.remove(entry.getKey());
+ toRemoveMessages.forEach((key, value) -> {
+ value.forEach(id -> _staleMessageCache.get(key).remove(id));
+ if (_staleMessageCache.get(key).size() == 0) {
+ _staleMessageCache.remove(key);
}
});
}
diff --git
a/helix-core/src/main/java/org/apache/helix/controller/changedetector/trimmer/HelixPropertyTrimmer.java
b/helix-core/src/main/java/org/apache/helix/controller/changedetector/trimmer/HelixPropertyTrimmer.java
index dbab09ccc..35ef1d41b 100644
---
a/helix-core/src/main/java/org/apache/helix/controller/changedetector/trimmer/HelixPropertyTrimmer.java
+++
b/helix-core/src/main/java/org/apache/helix/controller/changedetector/trimmer/HelixPropertyTrimmer.java
@@ -107,7 +107,7 @@ public abstract class HelixPropertyTrimmer<T extends
HelixProperty> {
}
switch (fieldType) {
case SIMPLE_FIELD:
- fieldKeySet.stream().forEach(fieldKey -> {
+ fieldKeySet.forEach(fieldKey -> {
if (originalZNRecord.getSimpleFields().containsKey(fieldKey)) {
trimmedZNRecord.getSimpleFields().putIfAbsent(fieldKey,
trimValue ? null :
originalZNRecord.getSimpleField(fieldKey));
@@ -115,18 +115,18 @@ public abstract class HelixPropertyTrimmer<T extends
HelixProperty> {
});
break;
case LIST_FIELD:
- fieldKeySet.stream().forEach(fieldKey -> {
+ fieldKeySet.forEach(fieldKey -> {
if (originalZNRecord.getListFields().containsKey(fieldKey)) {
trimmedZNRecord.getListFields().putIfAbsent(fieldKey,
- trimValue ? Collections.EMPTY_LIST :
originalZNRecord.getListField(fieldKey));
+ trimValue ? Collections.emptyList() :
originalZNRecord.getListField(fieldKey));
}
});
break;
case MAP_FIELD:
- fieldKeySet.stream().forEach(fieldKey -> {
+ fieldKeySet.forEach(fieldKey -> {
if (originalZNRecord.getMapFields().containsKey(fieldKey)) {
trimmedZNRecord.getMapFields().putIfAbsent(fieldKey,
- trimValue ? Collections.EMPTY_MAP :
originalZNRecord.getMapField(fieldKey));
+ trimValue ? Collections.emptyMap() :
originalZNRecord.getMapField(fieldKey));
}
});
break;
diff --git
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/WagedRebalancer.java
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/WagedRebalancer.java
index b43ce4b68..494baef01 100644
---
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/WagedRebalancer.java
+++
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/WagedRebalancer.java
@@ -20,7 +20,6 @@ package org.apache.helix.controller.rebalancer.waged;
*/
import java.util.ArrayList;
-import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@@ -79,9 +78,8 @@ public class WagedRebalancer implements
StatefulRebalancer<ResourceControllerDat
ConstraintBasedAlgorithmFactory
.getInstance(ClusterConfig.DEFAULT_GLOBAL_REBALANCE_PREFERENCE);
// These failure types should be propagated to caller of
computeNewIdealStates()
- private static final List<HelixRebalanceException.Type>
FAILURE_TYPES_TO_PROPAGATE = Collections
-
.unmodifiableList(Arrays.asList(HelixRebalanceException.Type.INVALID_REBALANCER_STATUS,
- HelixRebalanceException.Type.UNKNOWN_FAILURE));
+ private static final List<HelixRebalanceException.Type>
FAILURE_TYPES_TO_PROPAGATE =
+ List.of(HelixRebalanceException.Type.INVALID_REBALANCER_STATUS,
HelixRebalanceException.Type.UNKNOWN_FAILURE);
private final HelixManager _manager;
private final MappingCalculator<ResourceControllerDataProvider>
_mappingCalculator;
diff --git
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/ConstraintBasedAlgorithm.java
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/ConstraintBasedAlgorithm.java
index 9065869cd..d7dffaa4d 100644
---
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/ConstraintBasedAlgorithm.java
+++
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/constraints/ConstraintBasedAlgorithm.java
@@ -91,8 +91,7 @@ class ConstraintBasedAlgorithm implements RebalanceAlgorithm {
// Create a wrapper for each AssignableReplica.
List<AssignableReplicaWithScore> toBeAssignedReplicas =
clusterModel.getAssignableReplicaMap().values().stream().flatMap(Collection::stream).map(
- replica -> new AssignableReplicaWithScore(replica, clusterModel,
- positiveEstimateClusterRemainCap)).sorted()
+ replica -> new AssignableReplicaWithScore(replica, clusterModel,
positiveEstimateClusterRemainCap)).sorted()
.collect(Collectors.toList());
for (AssignableReplicaWithScore replicaWithScore : toBeAssignedReplicas) {
@@ -101,7 +100,7 @@ class ConstraintBasedAlgorithm implements
RebalanceAlgorithm {
getNodeWithHighestPoints(replica, nodes, clusterModel.getContext(),
busyInstances,
optimalAssignment);
// stop immediately if any replica cannot find best assignable node
- if (!maybeBestNode.isPresent() || optimalAssignment.hasAnyFailure()) {
+ if (maybeBestNode.isEmpty() || optimalAssignment.hasAnyFailure()) {
String errorMessage = String.format(
"Unable to find any available candidate node for partition %s;
Fail reasons: %s",
replica.getPartitionName(), optimalAssignment.getFailures());
@@ -180,7 +179,7 @@ class ConstraintBasedAlgorithm implements
RebalanceAlgorithm {
.collect(Collectors.toList());
}
- private class AssignableReplicaWithScore implements
Comparable<AssignableReplicaWithScore> {
+ private static class AssignableReplicaWithScore implements
Comparable<AssignableReplicaWithScore> {
private final AssignableReplica _replica;
private float _score = 0;
private final boolean _isInBestPossibleAssignment;
diff --git
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterContext.java
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterContext.java
index 24916e98d..07e33df16 100644
---
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterContext.java
+++
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterContext.java
@@ -84,18 +84,15 @@ public class ClusterContext {
for (AssignableReplica replica : entry.getValue()) {
if (replica.isReplicaTopState()) {
totalTopStateReplicas += 1;
- replica.getCapacity().entrySet().stream().forEach(capacityEntry ->
totalTopStateUsage
- .compute(capacityEntry.getKey(), (k, v) -> (v == null) ?
capacityEntry.getValue()
- : (v + capacityEntry.getValue())));
+ replica.getCapacity().forEach(
+ (key, value) -> totalTopStateUsage.compute(key, (k, v) -> (v ==
null) ? value : (v + value)));
}
- replica.getCapacity().entrySet().stream().forEach(capacityEntry ->
totalUsage
- .compute(capacityEntry.getKey(),
- (k, v) -> (v == null) ? capacityEntry.getValue() : (v +
capacityEntry.getValue())));
+ replica.getCapacity().forEach(
+ (key, value) -> totalUsage.compute(key, (k, v) -> (v == null) ?
value : (v + value)));
}
}
- nodeSet.stream().forEach(node ->
node.getMaxCapacity().entrySet().stream().forEach(
- capacityEntry -> totalCapacity.compute(capacityEntry.getKey(),
- (k, v) -> (v == null) ? capacityEntry.getValue() : (v +
capacityEntry.getValue()))));
+ nodeSet.forEach(node -> node.getMaxCapacity().forEach(
+ (key, value) -> totalCapacity.compute(key, (k, v) -> (v == null) ?
value : (v + value))));
// TODO: these variables correspond to one constraint each, and may become
unnecessary if the
// constraints are not used. A better design is to make them pluggable.
diff --git
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterModelProvider.java
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterModelProvider.java
index 7dab730e8..dfc648aa7 100644
---
a/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterModelProvider.java
+++
b/helix-core/src/main/java/org/apache/helix/controller/rebalancer/waged/model/ClusterModelProvider.java
@@ -36,6 +36,7 @@ import
org.apache.helix.controller.rebalancer.util.DelayedRebalanceUtil;
import org.apache.helix.model.ClusterConfig;
import org.apache.helix.model.IdealState;
import org.apache.helix.model.InstanceConfig;
+import org.apache.helix.model.Partition;
import org.apache.helix.model.Resource;
import org.apache.helix.model.ResourceAssignment;
import org.apache.helix.model.ResourceConfig;
@@ -117,7 +118,7 @@ public class ClusterModelProvider {
* @param baselineAssignment The persisted Baseline assignment.
* @param bestPossibleAssignment The persisted Best Possible assignment that
was generated in the
* previous rebalance.
- * @return
+ * @return the new cluster model
*/
public static ClusterModel generateClusterModelForPartialRebalance(
ResourceControllerDataProvider dataProvider, Map<String, Resource>
resourceMap,
@@ -498,8 +499,8 @@ public class ClusterModelProvider {
private static Map<String, Map<String, Set<String>>>
getValidStateInstanceMap(
ResourceAssignment assignment, Set<String> activeInstances) {
Map<String, Map<String, Set<String>>> stateInstanceMap =
getStateInstanceMap(assignment);
- stateInstanceMap.values().stream().forEach(stateMap ->
stateMap.values().stream()
- .forEach(instanceSet -> instanceSet.retainAll(activeInstances)));
+ stateInstanceMap.values().forEach(stateMap ->
+ stateMap.values().forEach(instanceSet ->
instanceSet.retainAll(activeInstances)));
return stateInstanceMap;
}
@@ -510,12 +511,10 @@ public class ClusterModelProvider {
return Collections.emptyMap();
}
return assignment.getMappedPartitions().stream()
- .collect(Collectors.toMap(partition -> partition.getPartitionName(),
partition -> {
+ .collect(Collectors.toMap(Partition::getPartitionName, partition -> {
Map<String, Set<String>> stateInstanceMap = new HashMap<>();
- assignment.getReplicaMap(partition).entrySet().stream().forEach(
- stateMapEntry -> stateInstanceMap
- .computeIfAbsent(stateMapEntry.getValue(), key -> new
HashSet<>())
- .add(stateMapEntry.getKey()));
+ assignment.getReplicaMap(partition)
+ .forEach((key1, value) ->
stateInstanceMap.computeIfAbsent(value, key -> new HashSet<>()).add(key1));
return stateInstanceMap;
}));
}
@@ -532,7 +531,7 @@ public class ClusterModelProvider {
private static Set<AssignableNode> getAllAssignableNodes(ClusterConfig
clusterConfig,
Map<String, InstanceConfig> instanceConfigMap, Set<String>
activeInstances) {
return activeInstances.parallelStream()
- .filter(instance -> instanceConfigMap.containsKey(instance)).map(
+ .filter(instanceConfigMap::containsKey).map(
instanceName -> new AssignableNode(clusterConfig,
instanceConfigMap.get(instanceName),
instanceName)).collect(Collectors.toSet());
}
@@ -549,7 +548,7 @@ public class ClusterModelProvider {
ResourceControllerDataProvider dataProvider, Map<String, Resource>
resourceMap,
Set<AssignableNode> assignableNodes) {
ClusterConfig clusterConfig = dataProvider.getClusterConfig();
- int activeFaultZoneCount = assignableNodes.stream().map(node ->
node.getFaultZone())
+ int activeFaultZoneCount =
assignableNodes.stream().map(AssignableNode::getFaultZone)
.collect(Collectors.toSet()).size();
return resourceMap.keySet().parallelStream().map(resourceName -> {
ResourceConfig resourceConfig =
dataProvider.getResourceConfig(resourceName);
@@ -582,8 +581,8 @@ public class ClusterModelProvider {
}
}
}
- return new HashMap.SimpleEntry<>(resourceName, replicas);
- }).collect(Collectors.toMap(entry -> entry.getKey(), entry ->
entry.getValue()));
+ return Map.entry(resourceName, replicas);
+ }).collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
}
/**
@@ -592,7 +591,7 @@ public class ClusterModelProvider {
private static Map<String, Map<String, Set<String>>>
mapAssignmentToFaultZone(
Set<AssignableNode> assignableNodes) {
Map<String, Map<String, Set<String>>> faultZoneAssignmentMap = new
HashMap<>();
- assignableNodes.stream().forEach(node -> {
+ assignableNodes.forEach(node -> {
for (Map.Entry<String, Set<String>> resourceMap :
node.getAssignedPartitionsMap()
.entrySet()) {
faultZoneAssignmentMap.computeIfAbsent(node.getFaultZone(), k -> new
HashMap<>())
diff --git
a/helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateOutput.java
b/helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateOutput.java
index a81fd2cd4..0ef47c8e7 100644
---
a/helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateOutput.java
+++
b/helix-core/src/main/java/org/apache/helix/controller/stages/CurrentStateOutput.java
@@ -453,10 +453,7 @@ public class CurrentStateOutput {
getCurrentStateMap(resourceName);
if (!currentStateMap.isEmpty()) {
ResourceAssignment newResourceAssignment = new
ResourceAssignment(resourceName);
- currentStateMap.entrySet().stream().forEach(currentStateEntry -> {
- newResourceAssignment.addReplicaMap(currentStateEntry.getKey(),
- currentStateEntry.getValue());
- });
+ currentStateMap.forEach(newResourceAssignment::addReplicaMap);
currentStateAssignment.put(resourceName, newResourceAssignment);
}
}
diff --git
a/helix-core/src/main/java/org/apache/helix/controller/stages/IntermediateStateCalcStage.java
b/helix-core/src/main/java/org/apache/helix/controller/stages/IntermediateStateCalcStage.java
index d16d6df4c..dbd433b3e 100644
---
a/helix-core/src/main/java/org/apache/helix/controller/stages/IntermediateStateCalcStage.java
+++
b/helix-core/src/main/java/org/apache/helix/controller/stages/IntermediateStateCalcStage.java
@@ -865,18 +865,17 @@ public class IntermediateStateCalcStage extends
AbstractBaseStage {
Map<Partition, Map<String, Message>> pendingMessageMap,
Map<Partition, List<Message>> resourceMessageMap) {
for (Map.Entry<Partition, Map<String, Message>> entry :
pendingMessageMap.entrySet()) {
- entry.getValue().entrySet().stream().forEach(e -> {
- if
(!e.getValue().getToState().equals(HelixDefinedState.DROPPED.name())) {
- intermediateStateMap
- .setState(entry.getKey(), e.getValue().getTgtName(),
e.getValue().getToState());
+ entry.getValue().forEach((key, value) -> {
+ if (!value.getToState().equals(HelixDefinedState.DROPPED.name())) {
+ intermediateStateMap.setState(entry.getKey(), value.getTgtName(),
value.getToState());
} else {
-
intermediateStateMap.getStateMap().get(entry.getKey()).remove(e.getValue().getTgtName());
+
intermediateStateMap.getStateMap().get(entry.getKey()).remove(value.getTgtName());
}
});
}
for (Map.Entry<Partition, List<Message>> entry :
resourceMessageMap.entrySet()) {
- entry.getValue().stream().forEach(e -> {
+ entry.getValue().forEach(e -> {
if (!e.getToState().equals(HelixDefinedState.DROPPED.name())) {
intermediateStateMap.setState(entry.getKey(), e.getTgtName(),
e.getToState());
} else {
diff --git a/helix-core/src/main/java/org/apache/helix/model/ClusterConfig.java
b/helix-core/src/main/java/org/apache/helix/model/ClusterConfig.java
index c4f9f914f..8f04c5fab 100644
--- a/helix-core/src/main/java/org/apache/helix/model/ClusterConfig.java
+++ b/helix-core/src/main/java/org/apache/helix/model/ClusterConfig.java
@@ -934,7 +934,7 @@ public class ClusterConfig extends HelixProperty {
Map<String, String> capacityData =
_record.getMapField(capacityPropertyType.name());
if (capacityData != null) {
return capacityData.entrySet().stream().collect(
- Collectors.toMap(entry -> entry.getKey(), entry ->
Integer.parseInt(entry.getValue())));
+ Collectors.toMap(Map.Entry::getKey, entry ->
Integer.parseInt(entry.getValue())));
}
return Collections.emptyMap();
}
@@ -945,13 +945,12 @@ public class ClusterConfig extends HelixProperty {
_record.getMapFields().remove(capacityPropertyType.name());
} else {
Map<String, String> data = new HashMap<>();
- capacityDataMap.entrySet().stream().forEach(entry -> {
- if (entry.getValue() < 0) {
- throw new IllegalArgumentException(String
- .format("Default capacity data contains a negative value: %s =
%d", entry.getKey(),
- entry.getValue()));
+ capacityDataMap.forEach((key, value) -> {
+ if (value < 0) {
+ throw new IllegalArgumentException(
+ String.format("Default capacity data contains a negative value:
%s = %d", key, value));
}
- data.put(entry.getKey(), Integer.toString(entry.getValue()));
+ data.put(key, Integer.toString(value));
});
_record.setMapField(capacityPropertyType.name(), data);
}
@@ -976,14 +975,12 @@ public class ClusterConfig extends HelixProperty {
+ "GlobalRebalancePreferenceKey.LESS_MOVEMENT must be both
specified or not specified");
}
Map<String, String> preferenceMap = new HashMap<>();
- preference.entrySet().stream().forEach(entry -> {
- if (entry.getValue() > MAX_REBALANCE_PREFERENCE
- || entry.getValue() < MIN_REBALANCE_PREFERENCE) {
- throw new IllegalArgumentException(String
- .format("Invalid global rebalance preference configuration. Key
%s, Value %d.",
- entry.getKey().name(), entry.getValue()));
+ preference.forEach((key, value) -> {
+ if (value > MAX_REBALANCE_PREFERENCE || value <
MIN_REBALANCE_PREFERENCE) {
+ throw new IllegalArgumentException(
+ String.format("Invalid global rebalance preference
configuration. Key %s, Value %d.", key.name(), value));
}
- preferenceMap.put(entry.getKey().name(),
Integer.toString(entry.getValue()));
+ preferenceMap.put(key.name(), Integer.toString(value));
});
_record.setMapField(ClusterConfigProperty.REBALANCE_PREFERENCE.name(),
preferenceMap);
}
@@ -1100,7 +1097,7 @@ public class ClusterConfig extends HelixProperty {
public Map<String, String> getAbnormalStateResolverMap() {
Map<String, String> resolverMap =
_record.getMapField(ClusterConfigProperty.ABNORMAL_STATES_RESOLVER_MAP.name());
- return resolverMap == null ? Collections.EMPTY_MAP : resolverMap;
+ return resolverMap == null ? Collections.emptyMap() : resolverMap;
}
/**
diff --git
a/helix-core/src/main/java/org/apache/helix/model/InstanceConfig.java
b/helix-core/src/main/java/org/apache/helix/model/InstanceConfig.java
index da5e42460..01c1f682f 100644
--- a/helix-core/src/main/java/org/apache/helix/model/InstanceConfig.java
+++ b/helix-core/src/main/java/org/apache/helix/model/InstanceConfig.java
@@ -626,13 +626,12 @@ public class InstanceConfig extends HelixProperty {
_record.getMapFields().remove(InstanceConfigProperty.INSTANCE_CAPACITY_MAP.name());
} else {
Map<String, String> capacityData = new HashMap<>();
- capacityDataMap.entrySet().stream().forEach(entry -> {
- if (entry.getValue() < 0) {
- throw new IllegalArgumentException(String
- .format("Capacity Data contains a negative value: %s = %d",
entry.getKey(),
- entry.getValue()));
+ capacityDataMap.forEach((key, value) -> {
+ if (value < 0) {
+ throw new IllegalArgumentException(
+ String.format("Capacity Data contains a negative value: %s =
%d", key, value));
}
- capacityData.put(entry.getKey(), Integer.toString(entry.getValue()));
+ capacityData.put(key, Integer.toString(value));
});
_record.setMapField(InstanceConfigProperty.INSTANCE_CAPACITY_MAP.name(),
capacityData);
}
diff --git
a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/metric/ZkClientMonitor.java
b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/metric/ZkClientMonitor.java
index d0a37bb6e..13231c842 100644
---
a/zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/metric/ZkClientMonitor.java
+++
b/zookeeper-api/src/main/java/org/apache/helix/zookeeper/zkclient/metric/ZkClientMonitor.java
@@ -134,7 +134,7 @@ public class ZkClientMonitor extends DynamicMBeanProvider {
}
doRegister(attributeList, MBEAN_DESCRIPTION,
getObjectName(_monitorType, _monitorKey, _monitorInstanceName));
- _zkClientPathMonitorMap.values().stream().forEach( monitor -> {
+ _zkClientPathMonitorMap.values().forEach(monitor -> {
if (monitor != null) {
try {
monitor.register();