private boolean isStopJobsOnExit() { if( getFlows().isEmpty() ) return false; // don't bother registering hook return getFlows().get( 0 ).isStopJobsOnExit(); }
private static synchronized void registerHadoopShutdownHook( Flow flow ) { if( !flow.isStopJobsOnExit() ) return; // guaranteed singleton here if( shutdownHook != null ) return; getHdfsShutdownHook(); shutdownHook = new ShutdownUtil.Hook() { @Override public Priority priority() { return Priority.LAST; // very last thing to happen } @Override public void execute() { callHdfsShutdownHook(); } }; ShutdownUtil.addHook( shutdownHook ); }
private static synchronized void registerHadoopShutdownHook( Flow flow ) { if( !flow.isStopJobsOnExit() ) return; // guaranteed singleton here if( shutdownHook != null ) return; getHdfsShutdownHook(); shutdownHook = new ShutdownUtil.Hook() { @Override public Priority priority() { return Priority.LAST; // very last thing to happen } @Override public void execute() { callHdfsShutdownHook(); } }; ShutdownUtil.addHook( shutdownHook ); }
private static synchronized void registerHadoopShutdownHook( Flow flow ) { if( !flow.isStopJobsOnExit() ) return; // guaranteed singleton here if( shutdownHook != null ) return; getHdfsShutdownHook(); shutdownHook = new ShutdownUtil.Hook() { @Override public Priority priority() { return Priority.LAST; // very last thing to happen } @Override public void execute() { callHdfsShutdownHook(); } }; ShutdownUtil.addHook( shutdownHook ); }
private static synchronized void registerHadoopShutdownHook( Flow flow ) { if( !flow.isStopJobsOnExit() ) return; // guaranteed singleton here if( shutdownHook != null ) return; getHdfsShutdownHook(); shutdownHook = new ShutdownUtil.Hook() { @Override public Priority priority() { return Priority.LAST; // very last thing to happen } @Override public void execute() { callHdfsShutdownHook(); } }; ShutdownUtil.addHook( shutdownHook ); }