[ 
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

        

Reply via email to