[
https://issues.apache.org/jira/browse/HADOOP-13709?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15715670#comment-15715670
]
Jason Lowe commented on HADOOP-13709:
-------------------------------------
The synchronized blocks are unnecessary on the get and put methods for
synchronized map. That's what a synchronized map brings to the table over a
normal map -- it adds a lock to those methods. However a synchronized map
cannot auto-synchronize iteration which is why we need to explicitly lock it
when walking it.
It'd also be nice t mark process1 and process2 as final in the unit test since
otherwise the patch will only compile on JDK8 or later (i.e.: only trunk at
this point).
> Clean up subprocesses spawned by Shell.java:runCommand when the shell process
> exits
> -----------------------------------------------------------------------------------
>
> Key: HADOOP-13709
> URL: https://issues.apache.org/jira/browse/HADOOP-13709
> Project: Hadoop Common
> Issue Type: Bug
> Affects Versions: 2.2.0
> Reporter: Eric Badger
> Assignee: Eric Badger
> Attachments: HADOOP-13709.001.patch, HADOOP-13709.002.patch,
> HADOOP-13709.003.patch, HADOOP-13709.004.patch, HADOOP-13709.005.patch,
> HADOOP-13709.006.patch, HADOOP-13709.007.patch
>
>
> The runCommand code in Shell.java can get into a situation where it will
> ignore InterruptedExceptions and refuse to shutdown due to being in I/O
> waiting for the return value of the subprocess that was spawned. We need to
> allow for the subprocess to be interrupted and killed when the shell process
> gets killed. Currently the JVM will shutdown and all of the subprocesses will
> be orphaned and not killed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]