Uploaded image for project: 'Hadoop Common'
  1. Hadoop Common
  2. HADOOP-4829

Allow FileSystem shutdown hook to be disabled

VotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments


    • New Feature
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 0.18.1
    • 0.21.0
    • fs
    • None
    • Reviewed
    • New configuration parameter fs.automatic.close can be set false to disable the JVM shutdown hook that automatically closes FileSystems.


      FileSystem sets a JVM shutdown hook so that it can clean up the FileSystem cache. This is great behavior when you are writing a client application, but when you're writing a server application, like the Collector or an HBase RegionServer, you need to control the shutdown of the application and HDFS much more closely. If you set your own shutdown hook, there's no guarantee that your hook will run before the HDFS one, preventing you from taking some shutdown actions.

      The current workaround I've used is to snag the FileSystem shutdown hook via Java reflection, disable it, and then run it on my own schedule. I'd really appreciate not having to do take this hacky approach. It seems like the right way to go about this is to just to add a method to disable the hook directly on FileSystem. That way, server applications can elect to disable the automatic cleanup and just call FileSystem.closeAll themselves when the time is right.


        1. hadoop-4829.txt
          7 kB
          Todd Lipcon
        2. HADOOP-4829-0.18.3.patch
          7 kB
          Todd Lipcon
        3. hadoop-4829-v2.txt
          7 kB
          Todd Lipcon
        4. hadoop-4829-v3.txt
          7 kB
          Todd Lipcon

        Issue Links


          This comment will be Viewable by All Users Viewable by All Users


            tlipcon Todd Lipcon
            bryanduxbury Bryan Duxbury
            2 Vote for this issue
            13 Start watching this issue




                Issue deployment