diff --git hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java index 8e3e2cc..f0975ef 100644 --- hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java +++ hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerStatusPBImpl.java @@ -50,7 +50,7 @@ public ContainerStatusPBImpl(ContainerStatusProto proto) { viaProto = true; } - public ContainerStatusProto getProto() { + public synchronized ContainerStatusProto getProto() { mergeLocalToProto(); proto = viaProto ? proto : builder.build(); viaProto = true; @@ -90,7 +90,7 @@ private void mergeLocalToBuilder() { } } - private void mergeLocalToProto() { + private synchronized void mergeLocalToProto() { if (viaProto) maybeInitBuilder(); mergeLocalToBuilder(); @@ -98,7 +98,7 @@ private void mergeLocalToProto() { viaProto = true; } - private void maybeInitBuilder() { + private synchronized void maybeInitBuilder() { if (viaProto || builder == null) { builder = ContainerStatusProto.newBuilder(proto); } @@ -107,7 +107,7 @@ private void maybeInitBuilder() { @Override - public ContainerState getState() { + public synchronized ContainerState getState() { ContainerStatusProtoOrBuilder p = viaProto ? proto : builder; if (!p.hasState()) { return null; @@ -125,7 +125,7 @@ public void setState(ContainerState state) { builder.setState(convertToProtoFormat(state)); } @Override - public ContainerId getContainerId() { + public synchronized ContainerId getContainerId() { ContainerStatusProtoOrBuilder p = viaProto ? proto : builder; if (this.containerId != null) { return this.containerId; @@ -145,7 +145,7 @@ public void setContainerId(ContainerId containerId) { this.containerId = containerId; } @Override - public int getExitStatus() { + public synchronized int getExitStatus() { ContainerStatusProtoOrBuilder p = viaProto ? proto : builder; return p.getExitStatus(); } @@ -157,7 +157,7 @@ public void setExitStatus(int exitStatus) { } @Override - public String getDiagnostics() { + public synchronized String getDiagnostics() { ContainerStatusProtoOrBuilder p = viaProto ? proto : builder; return (p.getDiagnostics()); }