Hadoop の ShutdownHook

Hadoop はプロセス終了時の cleanup を行うために,ShutdownHookManager というクラスを用いている.このクラスは,JVMRuntime#addShutdownHook を用いて実装されている.スレッド終了時に停止する順番は指定できないので,複数のスレッドが一気に停止すると,race condition になりやすい.