You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@storm.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/03/29 17:23:54 UTC
[jira] [Commented] (STORM-733) ShellBolts that don't respond to
heartbeats are not being killed
[ https://issues.apache.org/jira/browse/STORM-733?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14385820#comment-14385820 ]
ASF GitHub Bot commented on STORM-733:
--------------------------------------
GitHub user reembs opened a pull request:
https://github.com/apache/storm/pull/489
Fixed two bugs preventing ShellBolts from getting killed if they don't heartbeat properly
https://issues.apache.org/jira/browse/STORM-733
https://issues.apache.org/jira/browse/STORM-734
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/forter/storm shell-bolts-heartbeat-death-bugs
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/storm/pull/489.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #489
----
commit 530c0458ed04e06b8037ed286d521345bd78eecd
Author: Re'em Bensimhon <re...@forter.com>
Date: 2015-03-29T14:55:41Z
[STORM-733] ShellBolts that don't respond to heartbeats are not being killed
[STORM-734] When ShellBolt dies it calls System.exit, which doesn't always shut the process down
----
> ShellBolts that don't respond to heartbeats are not being killed
> ----------------------------------------------------------------
>
> Key: STORM-733
> URL: https://issues.apache.org/jira/browse/STORM-733
> Project: Apache Storm
> Issue Type: Bug
> Affects Versions: 0.9.3
> Reporter: Re'em Bensimhon
> Assignee: Re'em Bensimhon
> Priority: Critical
>
> In cases where a multilang bolt is stuck (say, an infinite loop), the heartbeats are supposed to detect the issue and kill the supervisor process.
> In 0.9.3 this doesn't happen due to backtype.storm.utils.ShellProcess.getErrorsString() call in ShellBolt.die()
> This call, which in turn executes IOUtils.toString(processErrorStream) will block the thread until process exits. Heartbeat flow should not assume process had exited.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)