Github user Ethanlm commented on a diff in the pull request: https://github.com/apache/storm/pull/2587#discussion_r175557578 --- Diff: storm-client/src/jvm/org/apache/storm/cluster/PaceMakerStateStorage.java --- @@ -123,12 +124,15 @@ public void set_worker_hb(String path, byte[] data, List<ACL> acls) { } LOG.debug("Successful set_worker_hb"); break; - } catch (Exception e) { + } catch (HBExecutionException e) { if (retry <= 0) { - throw Utils.wrapInRuntime(e); + throw new RuntimeException(e); } retry--; LOG.error("{} Failed to set_worker_hb. Will make {} more attempts.", e.getMessage(), retry); + } catch (InterruptedException e) { + LOG.debug("set_worker_hb got interrupted: {}", e); + throw new RuntimeException(e); --- End diff -- We need to throw exceptions so that StormTimer can catch it and set the task to inactive. https://github.com/apache/storm/blob/master/storm-client/src/jvm/org/apache/storm/StormTimer.java#L103-L107
---