diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java index 8ba391e78f6..57b5d93f0fc 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-applications/hadoop-yarn-applications-distributedshell/src/main/java/org/apache/hadoop/yarn/applications/distributedshell/Client.java @@ -1042,21 +1042,19 @@ public boolean run() throws IOException, YarnException { } // Add the docker client config credentials if supplied. - Credentials dockerCredentials = null; if (dockerClientConfig != null) { - dockerCredentials = + Credentials dockerCredentials = DockerClientConfigHandler.readCredentialsFromConfigFile( new Path(dockerClientConfig), conf, applicationId.toString()); + if(rmCredentials == null){ + rmCredentials = new Credentials(); + } + rmCredentials.addAll(dockerCredentials); } - if (rmCredentials != null || dockerCredentials != null) { + if (rmCredentials != null) { DataOutputBuffer dob = new DataOutputBuffer(); - if (rmCredentials != null) { - rmCredentials.writeTokenStorageToStream(dob); - } - if (dockerCredentials != null) { - dockerCredentials.writeTokenStorageToStream(dob); - } + rmCredentials.writeTokenStorageToStream(dob); ByteBuffer tokens = ByteBuffer.wrap(dob.getData(), 0, dob.getLength()); amContainer.setTokens(tokens); }