bharathv commented on a change in pull request #3264: URL: https://github.com/apache/hbase/pull/3264#discussion_r633693619
########## File path: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java ########## @@ -1120,8 +1120,18 @@ public void shutdown() throws IOException { this.disruptor.shutdown(); } } - // With disruptor down, this is safe to let go. - if (this.appendExecutor != null) this.appendExecutor.shutdown(); + + try { + // With disruptor down, this is safe to let go. + if (this.appendExecutor != null) { + this.appendExecutor.shutdown(); + // Wait for 60 seconds to complete currently running tasks. + this.appendExecutor.awaitTermination(60, TimeUnit.SECONDS); + } + } catch (InterruptedException e) { + LOG.warn("Exception while waiting to shutdown executor ", e); Review comment: @shahrs87 I think you missed the comment on resetting the interrupt flag. @virajjasani I don't think we need to shutdownNow() again because the JVM is shutting down anyway and that interrupts all the running threads (if any that exist at that point). If we are in that situation, we are already in a bad state, don't think a proper shutdownNow() would help much. ########## File path: hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/wal/FSHLog.java ########## @@ -1120,8 +1120,18 @@ public void shutdown() throws IOException { this.disruptor.shutdown(); } } - // With disruptor down, this is safe to let go. - if (this.appendExecutor != null) this.appendExecutor.shutdown(); + + try { + // With disruptor down, this is safe to let go. + if (this.appendExecutor != null) { + this.appendExecutor.shutdown(); + // Wait for 60 seconds to complete currently running tasks. + this.appendExecutor.awaitTermination(60, TimeUnit.SECONDS); + } + } catch (InterruptedException e) { + LOG.warn("Exception while waiting to shutdown executor ", e); Review comment: Right. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org