Github user Ben-Zvi commented on the pull request: https://github.com/apache/drill/commit/a9f2a1c6ad59386828f41731b7415e18a9459cc6#commitcomment-25390233 In exec/java-exec/src/main/java/org/apache/drill/exec/work/WorkManager.java: In exec/java-exec/src/main/java/org/apache/drill/exec/work/WorkManager.java on line 188: Checking on https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/locks/Condition.html#await-- , looks like there is no need to re-grab the lock after calling await() . Also all the examples I found online don't do so. It is possible that calling lock() again actually increments the (already acquired) lock counter.
---