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

Eric Yang commented on YARN-8209:
---------------------------------

[~ebadger] Thank you for the patch.  Overall, this patch works on my system 
without seeing null pointer exception.

REMOVE_DOCKER_CONTAINER and INSPECT_DOCKER_CONTAINER have different way of 
constructing arguments, but their usage screens are the same.  Developer may 
assume that INSPECT_DOCKER_CONTAINER to receive one argument to match the usage 
screen.  Docker inspect via container-executor seems to be overloading the 
format command as arguments to container-executor.  Container-executor expects 
the inspect format to be a certain format.  Would it simplify logic to move the 
formatting argument into container-executor to avoid future code breakage in 
Java code to introduce regression in container-executor C code?

A few Nitpick: 
1. invoke_docker_command, in execvp block, a couple lines are not indented 
correctly.
2. args, docker_binary, docker_command_with_binary are not freed if execvp 
fails.



> NPE in DeletionService
> ----------------------
>
>                 Key: YARN-8209
>                 URL: https://issues.apache.org/jira/browse/YARN-8209
>             Project: Hadoop YARN
>          Issue Type: Bug
>            Reporter: Chandni Singh
>            Assignee: Eric Badger
>            Priority: Major
>         Attachments: YARN-8209.001.patch, YARN-8209.002.patch
>
>
> {code:java}
> 2018-04-25 23:38:41,039 WARN  concurrent.ExecutorHelper 
> (ExecutorHelper.java:logThrowableFromAfterExecute(63)) - Caught exception in 
> thread DeletionService #1:
> java.lang.NullPointerException
>         at 
> org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.docker.DockerClient.writeCommandToTempFile(DockerClient.java:109)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.docker.DockerCommandExecutor.executeDockerCommand(DockerCommandExecutor.java:85)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.docker.DockerCommandExecutor.executeStatusCommand(DockerCommandExecutor.java:192)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.containermanager.linux.runtime.docker.DockerCommandExecutor.getContainerStatus(DockerCommandExecutor.java:128)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.LinuxContainerExecutor.removeDockerContainer(LinuxContainerExecutor.java:935)
>         at 
> org.apache.hadoop.yarn.server.nodemanager.containermanager.deletion.task.DockerContainerDeletionTask.run(DockerContainerDeletionTask.java:61)
>         at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
>         at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
>         at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
>         at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
>         at java.lang.Thread.run(Thread.java:748){code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to