[ https://issues.apache.org/jira/browse/STORM-513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14168144#comment-14168144 ]
ASF GitHub Bot commented on STORM-513: -------------------------------------- Github user HeartSaVioR commented on a diff in the pull request: https://github.com/apache/storm/pull/286#discussion_r18741463 --- Diff: storm-core/src/dev/resources/storm.js --- @@ -243,6 +243,12 @@ BasicBolt.prototype.__emit = function(commandDetails) { BasicBolt.prototype.handleNewCommand = function(command) { var self = this; var tup = new Tuple(command["id"], command["comp"], command["stream"], command["task"], command["tuple"]); + + if (tup.task == -1 && tup.stream == "__heartbeat") { + self.sync(); + return; + } + var callback = function(err) { if (err) { --- End diff -- @itaifrenkel Sorry, I don't know what you say. Could you please describe more clear? I committed all changes in one commit. > ShellBolt keeps sending heartbeats even when child process is hung > ------------------------------------------------------------------ > > Key: STORM-513 > URL: https://issues.apache.org/jira/browse/STORM-513 > Project: Apache Storm > Issue Type: Bug > Environment: Linux: 2.6.32-431.11.2.el6.x86_64 (RHEL 6.5) > Reporter: Dan Blanchard > Priority: Blocker > > If I'm understanding everything correctly with how ShellBolts work, the Java > ShellBolt executor is the part of the topology that sends heartbeats back to > Nimbus to let it know that a particular multilang bolt is still alive. The > problem with this is that if the multilang subprocess/bolt severely hangs > (i.e., it will not even respond to {{SIGALRM}} and the like), the Java > ShellBolt does not seem to notice or care. Simply having the tuple get > replayed when it times out will not suffice either, because the subprocess > will still be stuck. > The most obvious way to handle this seem to be to add heartbeating to the > multilang protocol itself, so that the ShellBolt expects a message of some > kind every {{timeout}} seconds. -- This message was sent by Atlassian JIRA (v6.3.4#6332)