Hi hermanth, The Python multi-lang implementation provided with Storm is not really production ready for exactly the reasons you outline. At Parse.ly, we use streamparse for our Python Bolts/Spouts. It has built in logging support and also takes over stdin/stdout to prevent you from inadvertently killing your bolt by printing.
Yelp also has a slightly different take on a Python multi-lang library called Pyleus, but as one of the main devs for streamparse, I prefer streamparse. :) Thanks, Dan On June 25, 2015 at 6:22:05 AM, Hemanth Yamijala (yhema...@gmail.com) wrote: Hi, We are using Storm 0.9.4 with python Shell bolts. A dependent internal library was printing a message inadvertently. I understand this will interfere with the multi-lang protocol and hence fail. But, instead of failing noisily, the result was silent failures of some messages in the topology without any record in the worker logs and it was very hard to debug and find the problem. Have others faced similar issues? Are there easy ways to avoid such problems from the user end (of course we can avoid using prints - its a good practise anyway to probably switch to logger etc., but things do creep in on distributed teams) Can Storm be a little more informative about this error to help debugging be faster? Thanks hemanth