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
---