Hi, Charlie. Your Spout has the issue. Spout shouldn't stay longer in nextTuple() cause Spout takes care of events (including calling ack, fail, nextTuple) in event loop with just one thread.
In other words, back pressure cannot work in your Spout cause how max spout pending works is checking pending queue size before calling nextTuple() and if it's greater than max spout pending, it skips calling nextTuple(). If you want to follow max spout pending strictly, nextTuple() should emit only one tuple, but it is not hard rule. Please note that max spout pending only works with ack mode, and for now it is only way for Storm to handle back pressure. Hope this helps. Thanks, Jungtaek Lim (HeartSaVioR) 2015년 7월 9일 목요일, charlie quillard<[email protected]>님이 작성한 메시지: > Hi, > > > I began my performance tests on storm and in my full use case when i > send many tuples(> 1000), I can have a "core dump " because my bolt cannot > treated all my spout tuples. > > And for testing , I added a gist : > https://gist.github.com/episanchez/a5c101bdf637a5ff2e28 , and when I did > not put a 1 millisecond sleep, I had the same problem. > > So i would like to know how to fix it without to put a sleep. > > > Thanks in advance, > > Charlie QUILLARD > -- Name : 임 정택 Blog : http://www.heartsavior.net / http://dev.heartsavior.net Twitter : http://twitter.com/heartsavior LinkedIn : http://www.linkedin.com/in/heartsavior
