Hey y’all, There are some blocking requests that could make an event loop *await uninterruptibly*. At this point, the Drillbit might seem unresponsive. This is worsened if the the event loop is not unblocked (due to a bug), which requires a Drillbit restart. Although Drill supports *offloading from the event loop* (experimental), this is not sufficient as the thread handling the queue of requests would still block.
AFAIK there are two such requests: + when the user cancels <https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/work/foreman/Foreman.java#L1184> the query during planning + a fragment is canceled <https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentExecutor.java#L150> or terminated <https://github.com/apache/drill/blob/master/exec/java-exec/src/main/java/org/apache/drill/exec/work/fragment/FragmentExecutor.java#L501> early during setup I think a simple solution would be to *re-queue *such requests (possible in above cases). That way other requests get their chance, and all requests would be eventually handled. Thoughts? Thank you, Sudheesh
