Github user paul-rogers commented on a diff in the pull request: https://github.com/apache/drill/pull/921#discussion_r150973540 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/server/Drillbit.java --- @@ -176,18 +200,37 @@ public void run() throws Exception { logger.info("Startup completed ({} ms).", w.elapsed(TimeUnit.MILLISECONDS)); } + /* + Wait uninterruptibly + */ + public void waitForGracePeriod() { + ExtendedLatch exitLatch = null; + exitLatch = new ExtendedLatch(); + exitLatch.awaitUninterruptibly(gracePeriod); --- End diff -- I wonder about synchronization. This latch is private, so never triggered, except in a timeout. How is this different than `Thread.sleep()`, other than blocking interrupts? If so, maybe a comment to this effect. Note also that this is called from inside a synchronized block. Just want to verify that this is the intent.
---