Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Abandoned
-
0.9.3
-
None
-
None
Description
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.