Open xiaqt78 opened 9 years ago
did you call self.ack(tup) when deriving from Bolt?
@xiaqt78 I have edited the formatting of your comment to better visualize the code, I hope you're fine with that.
I can spot two problems with your code:
Bolt
you need to call ack()
after you are done with processing the tuple. This may be the reason why your bolt blocks after 30 seconds (hangs/out of memory)[tup]
, not tup
. This behaviour is inherited by Storm, since you can anchor on more than a tuple at once when emitting, because the output tuple may indeed depend on many tuples at once. It's weird that it didn't break.Both these two points are covered in this section of the wiki: http://yelp.github.io/pyleus/reliability.html#anchor-tuples-in-your-bolt
Fix that and let us know if it works.
Now,I run the examples of Pyleus and my own topology built by Pyleus on storm-0.9.2. And it run perfectly. I look forward to Pyleus of next version that can work well with storm-0.9.3. Thanks for your works.
I have modified as follows:
My question: if the class derived from SimpleBolt, it only logged 2 lines. if the class derived from Bolt, it will logged 30 seconds. I love Pyleus to write topology for storm. Pyleus's idea can make me emphasize my work to be solved. But now I don't know why the bolt only work a little time. Please help me!