[ 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: common-issues-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-issues-h...@hadoop.apache.org