diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerLaunchContextPBImpl.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerLaunchContextPBImpl.java index a9f2ee3..0d31846 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerLaunchContextPBImpl.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-common/src/main/java/org/apache/hadoop/yarn/api/records/impl/pb/ContainerLaunchContextPBImpl.java @@ -71,7 +71,7 @@ public ContainerLaunchContextPBImpl(ContainerLaunchContextProto proto) { viaProto = true; } - public ContainerLaunchContextProto getProto() { + public synchronized ContainerLaunchContextProto getProto() { mergeLocalToProto(); proto = viaProto ? proto : builder.build(); viaProto = true; @@ -134,7 +134,7 @@ private void mergeLocalToBuilder() { } } - private void mergeLocalToProto() { + private synchronized void mergeLocalToProto() { if (viaProto) maybeInitBuilder(); mergeLocalToBuilder(); @@ -142,7 +142,7 @@ private void mergeLocalToProto() { viaProto = true; } - private void maybeInitBuilder() { + private synchronized void maybeInitBuilder() { if (viaProto || builder == null) { builder = ContainerLaunchContextProto.newBuilder(proto); } @@ -150,12 +150,12 @@ private void maybeInitBuilder() { } @Override - public List getCommands() { + public synchronized List getCommands() { initCommands(); return this.commands; } - private void initCommands() { + private synchronized void initCommands() { if (this.commands != null) { return; } @@ -169,7 +169,7 @@ private void initCommands() { } @Override - public void setCommands(final List commands) { + public synchronized void setCommands(final List commands) { if (commands == null) return; initCommands(); @@ -186,12 +186,12 @@ private void addCommandsToProto() { } @Override - public Map getLocalResources() { + public synchronized Map getLocalResources() { initLocalResources(); return this.localResources; } - private void initLocalResources() { + private synchronized void initLocalResources() { if (this.localResources != null) { return; } @@ -205,7 +205,7 @@ private void initLocalResources() { } @Override - public void setLocalResources( + public synchronized void setLocalResources( final Map localResources) { if (localResources == null) return; @@ -272,7 +272,7 @@ public boolean hasNext() { } @Override - public ByteBuffer getTokens() { + public synchronized ByteBuffer getTokens() { ContainerLaunchContextProtoOrBuilder p = viaProto ? proto : builder; if (this.tokens != null) { return this.tokens; @@ -285,7 +285,7 @@ public ByteBuffer getTokens() { } @Override - public void setTokens(ByteBuffer tokens) { + public synchronized void setTokens(ByteBuffer tokens) { maybeInitBuilder(); if (tokens == null) { builder.clearTokens(); @@ -294,7 +294,7 @@ public void setTokens(ByteBuffer tokens) { } @Override - public ByteBuffer getTokensConf() { + public synchronized ByteBuffer getTokensConf() { ContainerLaunchContextProtoOrBuilder p = viaProto ? proto : builder; if (this.tokensConf != null) { return this.tokensConf; @@ -307,7 +307,7 @@ public ByteBuffer getTokensConf() { } @Override - public void setTokensConf(ByteBuffer tokensConf) { + public synchronized void setTokensConf(ByteBuffer tokensConf) { maybeInitBuilder(); if (tokensConf == null) { builder.clearTokensConf(); @@ -321,7 +321,7 @@ public void setTokensConf(ByteBuffer tokensConf) { return this.serviceData; } - private void initServiceData() { + private synchronized void initServiceData() { if (this.serviceData != null) { return; } @@ -379,12 +379,12 @@ public boolean hasNext() { } @Override - public Map getEnvironment() { + public synchronized Map getEnvironment() { initEnv(); return this.environment; } - private void initEnv() { + private synchronized void initEnv() { if (this.environment != null) { return; } @@ -399,7 +399,7 @@ private void initEnv() { } @Override - public void setEnvironment(final Map env) { + public synchronized void setEnvironment(final Map env) { if (env == null) return; initEnv(); @@ -410,7 +410,7 @@ public void setEnvironment(final Map env) { } } - private void addEnvToProto() { + private synchronized void addEnvToProto() { maybeInitBuilder(); builder.clearEnvironment(); if (environment == null) @@ -453,12 +453,12 @@ public boolean hasNext() { } @Override - public Map getApplicationACLs() { + public synchronized Map getApplicationACLs() { initApplicationACLs(); return this.applicationACLS; } - private void initApplicationACLs() { + private synchronized void initApplicationACLs() { if (this.applicationACLS != null) { return; } @@ -512,7 +512,7 @@ public void remove() { } @Override - public void setApplicationACLs( + public synchronized void setApplicationACLs( final Map appACLs) { if (appACLs == null) return; @@ -524,7 +524,7 @@ public void setApplicationACLs( } } - public ContainerRetryContext getContainerRetryContext() { + public synchronized ContainerRetryContext getContainerRetryContext() { ContainerLaunchContextProtoOrBuilder p = viaProto ? proto : builder; if (this.containerRetryContext != null) { return this.containerRetryContext; @@ -537,7 +537,8 @@ public ContainerRetryContext getContainerRetryContext() { return this.containerRetryContext; } - public void setContainerRetryContext(ContainerRetryContext retryContext) { + public synchronized void setContainerRetryContext( + ContainerRetryContext retryContext) { maybeInitBuilder(); if (retryContext == null) { builder.clearContainerRetryContext();