private void registerShutdownHook()

in src/main/java/com/netflix/bdp/s3mper/metastore/impl/MetastoreJanitor.java [192:219]


    private void registerShutdownHook() {
        Runtime.getRuntime().addShutdownHook(new Thread("Metastore Janitor Shutdown Hook"){

            @Override
            public void run() {
                log.info("Shutting down all threads");
                
                synchronized(tasks) {
                    for(AbstractDynamoDBTask task : tasks) {
                        task.running = false;
                    }
                }
                
                synchronized(futures) {
                    for(Future future: futures) {
                        try {
                            future.get();
                        } catch (Exception ex) {
                            log.error("",ex);
                        }
                    }
                }
                
                executor.shutdown();
            }
            
        });
    }