[ 
https://issues.apache.org/jira/browse/YARN-6623?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16135306#comment-16135306
 ] 

Eric Badger commented on YARN-6623:
-----------------------------------

[~vvasudev], I started reviewing the .003 patch, but I see that you've updated 
a few times since then. So I'll post my comments so far and then continue my 
review with the most recent patch.

Ran test-container-executor on both my mac and on rhel6 and it passed.

1. Should {{feature.docker.enabled}} be moved to be with the rest of the docker 
configs? 

2. For the Docker configs, I think it'd be more clear if they were prefixed 
with {{docker.}}

3. Since we're going to remove the hard-coded string in YARN-6968, should we 
leave the findbugs warning and take care of it there?

4. 
{noformat}
+  /**
+   * Add command commandWithArguments - this method is only meant for use by
+   * sub-classes.
+   *
{noformat}
This is no longer just adding a command. Looks like it adds arguments to the 
command and adds the command as well if it doesn't exist. So the comment should 
be updated.

5. 
{noformat}
+    this.commandArguments = new TreeMap<>();
+    commandArguments.put(dockerCommandKey, new ArrayList<>());
+    commandArguments.get(dockerCommandKey).add(command);
{noformat}
I’m not sure I understand how this piece of code is supposed to work. In this 
method we add a new list with the key “docker-command”. But then in 
{{addCommandArguments()}} we add arguments via the {{key}}, which is always 
called in the subclasses with the name of the command being run (e.g. inspect). 
So the map for each {{DockerCommand}} will usually have 2 keys, 
“docker-command” and the command that actually needs arguments “inspect”. Is 
this how it’s intended to work or did I miss something here?

6.
{noformat}
+  protected final void addCommandArguments(String key, String value) {
+    if (commandArguments.containsKey(key)) {
+      commandArguments.get(key).add(value);
+      return;
+    }
{noformat}
No need to call {{contains()}} and then call {{get()}}. We can just call get 
and then add the value if the return value isn't null. 

7.
{noformat}
+  @Override
+  public String toString() {
+    StringBuffer ret = new StringBuffer("");
+    ret.append(this.command);
{noformat}
Any reason not to create the string with the command in the constructor? 
Something like
{{StringBuffer ret = new StringBuffer(this.command);}}

> Add support to turn off launching privileged containers in the 
> container-executor
> ---------------------------------------------------------------------------------
>
>                 Key: YARN-6623
>                 URL: https://issues.apache.org/jira/browse/YARN-6623
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>          Components: nodemanager
>            Reporter: Varun Vasudev
>            Assignee: Varun Vasudev
>            Priority: Blocker
>         Attachments: YARN-6623.001.patch, YARN-6623.002.patch, 
> YARN-6623.003.patch, YARN-6623.004.patch, YARN-6623.005.patch
>
>
> Currently, launching privileged containers is controlled by the NM. We should 
> add a flag to the container-executor.cfg allowing admins to disable launching 
> privileged containers at the container-executor level.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to