GitHub user HeartSaVioR opened a pull request:
https://github.com/apache/storm/pull/1526
STORM-1928 ShellSpout should check heartbeat while ShellSpout is waiting
for subprocess to sync
When nextTuple is not calling at any chances (max spout pending,
backpressure introduced at 1.0.0, and so on) multi-lang spout don't receive any
message from ShellSpout, thus no messages from multi-lang spout side. (because
multilang spout and ShellSpout communicates like ping-pong, unlike multilang
bolt and ShellBolt)
In result, no heartbeat is being marked, and finally raises subprocess
heartbeat timeout.
This PR changes ShellSpout to only check heartbeat while ShellSpout is
waiting for subprocess to sync.
And this PR also changes ShellSpout.die logic similar to ShellBolt, since I
found ShellSpout's die message was logged but worker itself was not died after
logging. Only that task was died.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/HeartSaVioR/storm STORM-1928
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/storm/pull/1526.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 #1526
----
commit 1c94bc7a820f90dff97f191cf30b485eba7b8c38
Author: Jungtaek Lim <[email protected]>
Date: 2016-06-27T15:07:59Z
STORM-1928 ShellSpout should only check heartbeat while ShellSpout is
waiting for subprocess to sync
* only check heartbeat while ShellSpout is waiting for subprocess to sync
* change ShellSpout.die logic similar to ShellBolt
* ShellSpout's die message is logged but worker is not died after logging
* Confirmed that worker becomes died when die has been called
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---