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

Reply via email to