YARN-9327. Improve synchronisation in ProtoUtils#convertToProtoFormat block. Contributed by Bibin A Chundatt.
(cherry picked from commit 0c8813f135
)
This commit is contained in:
parent
46b81a982b
commit
d2a5749482
|
@ -400,7 +400,7 @@ public class ProtoUtils {
|
|||
/*
|
||||
* Resource
|
||||
*/
|
||||
public static synchronized ResourceProto convertToProtoFormat(Resource r) {
|
||||
public static ResourceProto convertToProtoFormat(Resource r) {
|
||||
return ResourcePBImpl.getProto(r);
|
||||
}
|
||||
|
||||
|
|
|
@ -71,14 +71,14 @@ public class ResourcePBImpl extends Resource {
|
|||
initResources();
|
||||
}
|
||||
|
||||
public ResourceProto getProto() {
|
||||
synchronized public ResourceProto getProto() {
|
||||
mergeLocalToProto();
|
||||
proto = viaProto ? proto : builder.build();
|
||||
viaProto = true;
|
||||
return proto;
|
||||
}
|
||||
|
||||
private void maybeInitBuilder() {
|
||||
synchronized private void maybeInitBuilder() {
|
||||
if (viaProto || builder == null) {
|
||||
builder = ResourceProto.newBuilder(proto);
|
||||
}
|
||||
|
@ -127,7 +127,7 @@ public class ResourcePBImpl extends Resource {
|
|||
resources[VCORES_INDEX].setValue(vCores);
|
||||
}
|
||||
|
||||
private void initResources() {
|
||||
synchronized private void initResources() {
|
||||
if (this.resources != null) {
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue