YARN-10820. Make GetClusterNodesRequestPBImpl thread safe. Contributed by Swathi Chandrashekar.

This commit is contained in:
Prabhu Joseph 2021-06-17 11:35:41 +05:30
parent 3788fe52da
commit 6b4987f09c

View File

@ -52,7 +52,7 @@ public GetClusterNodesRequestPBImpl(GetClusterNodesRequestProto proto) {
viaProto = true; viaProto = true;
} }
public GetClusterNodesRequestProto getProto() { public synchronized GetClusterNodesRequestProto getProto() {
mergeLocalToProto(); mergeLocalToProto();
proto = viaProto ? proto : builder.build(); proto = viaProto ? proto : builder.build();
viaProto = true; viaProto = true;
@ -60,13 +60,13 @@ public GetClusterNodesRequestProto getProto() {
} }
@Override @Override
public EnumSet<NodeState> getNodeStates() { public synchronized EnumSet<NodeState> getNodeStates() {
initNodeStates(); initNodeStates();
return this.states; return this.states;
} }
@Override @Override
public void setNodeStates(final EnumSet<NodeState> states) { public synchronized void setNodeStates(final EnumSet<NodeState> states) {
initNodeStates(); initNodeStates();
this.states.clear(); this.states.clear();
if (states == null) { if (states == null) {