[
https://issues.apache.org/jira/browse/HADOOP-3818?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12617477#action_12617477
]
Tsz Wo (Nicholas), SZE commented on HADOOP-3818:
------------------------------------------------
> What we want to do here is simply close our output stream before exiting so
> that data isn't lost.
We already have automatic files closing during shutdown. It is done by the
FileSystem shutdown hook.
> Not possible to access a FileSystem from within a ShutdownHook
> --------------------------------------------------------------
>
> Key: HADOOP-3818
> URL: https://issues.apache.org/jira/browse/HADOOP-3818
> Project: Hadoop Core
> Issue Type: Bug
> Components: fs
> Affects Versions: 0.17.1
> Reporter: Rowan Nairn
> Priority: Minor
>
> FileSystem uses addShutdownHook to close all FileSystems at exit. This makes
> it impossible to access a FileSystem from within your own ShutdownHook
> threads, say for deleting incomplete output. Using a pre-existing FileSystem
> object is unsafe since it may be closed by the time the thread executes.
> Using FileSystem.get(...) results in an exception:
> Exception in thread "Thread-10" java.lang.IllegalStateException: Shutdown in
> progress
> at java.lang.Shutdown.add(Shutdown.java:81)
> at java.lang.Runtime.addShutdownHook(Runtime.java:190)
> at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:1293)
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:203)
> at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:108)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.