cuibo01 commented on a change in pull request #2824: URL: https://github.com/apache/hbase/pull/2824#discussion_r549684381
########## File path: hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RemoteProcedureDispatcher.java ########## @@ -306,15 +315,22 @@ public TimeoutExecutorThread() { @Override public void run() { while (running.get()) { - final DelayedWithTimeout task = DelayedUtil.takeWithoutInterrupt(queue); - if (task == null || task == DelayedUtil.DELAYED_POISON) { - // the executor may be shutting down, and the task is just the shutdown request - continue; - } - if (task instanceof DelayedTask) { - threadPool.execute(((DelayedTask) task).getObject()); - } else { - ((BufferNode) task).dispatch(); + try { + final DelayedWithTimeout task = DelayedUtil.takeWithoutInterrupt(queue); + if (task == null || task == DelayedUtil.DELAYED_POISON) { + // the executor may be shutting down, and the task is just the shutdown request + continue; + } + if (task instanceof DelayedTask) { + threadPool.execute(((DelayedTask) task).getObject()); + } else { + ((BufferNode) task).dispatch(); + } + } catch (Throwable e) { + LOG.error("Caught error", e); + if (timeoutExecutorError != null) { Review comment: yes. whatever the exception, the thread exits... ---------------------------------------------------------------- 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