[ https://issues.apache.org/jira/browse/MAPREDUCE-4135?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13263104#comment-13263104 ]
Alejandro Abdelnur commented on MAPREDUCE-4135: ----------------------------------------------- First, I don't think FileSystem.closeAll() should try to remove its shutdown hook, the hook could be there and it would just be a NOP. Secondly, shutdown hooks are run in parallel/non-deterministic-order. if there is nothing that ensures that the FileSystem shutdown hook won't be run until after the MRAppMaster shutdown hook. IMO the correct solution here would be: * All close/destroy/cleanup operations are done only via Service's stop() method. This ensures an order. * The outermost service is the only one adding a shutdown hook and within it i call its stop() which will do a NOP if it has been already called. > MRAppMaster throws IllegalStateException while shutting down > ------------------------------------------------------------ > > Key: MAPREDUCE-4135 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-4135 > Project: Hadoop Map/Reduce > Issue Type: Bug > Components: mrv2 > Affects Versions: 2.0.0, 3.0.0 > Reporter: Devaraj K > Assignee: Ravi Prakash > Attachments: MAPREDUCE-4135.branch-0.23.patch, MAPREDUCE-4135.patch, > MAPREDUCE-4135.patch > > > Always MRAppMaster throws IllegalStateException in the stderr while shutting > down. It doesn't look good having this exception in the stderr file of > MRAppMaster container. > {code:xml} > WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use > org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files. > Exception in thread "Thread-1" java.lang.IllegalStateException: Shutdown in > progress > at > java.lang.ApplicationShutdownHooks.remove(ApplicationShutdownHooks.java:55) > at java.lang.Runtime.removeShutdownHook(Runtime.java:220) > at org.apache.hadoop.fs.FileSystem$Cache.remove(FileSystem.java:2148) > at org.apache.hadoop.fs.FileSystem$Cache.closeAll(FileSystem.java:2180) > at org.apache.hadoop.fs.FileSystem$Cache.closeAll(FileSystem.java:2157) > at org.apache.hadoop.fs.FileSystem.closeAll(FileSystem.java:361) > at > org.apache.hadoop.mapreduce.v2.app.MRAppMaster$MRAppMasterShutdownHook.run(MRAppMaster.java:1014) > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira