Hi, I have a quick question. I have set up a local storm cluster on my machine.
I have also implemented a simple topology. One of the pieces in my topology is
asimple python multilang component. The component works fine, it does
everything I want it to do. However, when I send a kill statement to the local
topology, everything in my topology beings shutting down. One of the errors I
receive is the following
29748 [Thread-23] ERROR backtype.storm.task.ShellBolt - Halting process:
ShellBolt died.java.lang.RuntimeException:
backtype.storm.multilang.NoOutputException: Pipe to subprocess seems to be
broken! No output read.Serializer Exception:(Unable to capture error
stream).....
kill: 58511: No such process29760 [main] INFO backtype.storm.util - Error when
trying to kill 58511. Process is probably already dead.30769 [main] INFO
backtype.storm.util - Error when trying to kill 58511. Process is probably
already dead.kill: 58511: No such process......
Now obviously this happens because the shell bolt has been terminated. I
eventually want to deploy this on an actual productioncluster. So my question
to you is, how do you manually send a shutdown signal through the STDOUT in
order to not get thisPipe to subprocess exception. Basically, I want to
manually close the pipe after I am for sure done with it. I have been playing
aroundwith the code, and simply sending a print statement with "end" does not
work. Thanks.