but when I set BoltParallelism, I noticed that there were 3 instances of BoltA created even though I did not specify any setNumTasks.
https://storm.apache.org/releases/1.0.0/Understanding-the-parallelism-of-a-Storm-topology.html *By default, the number of tasks is set to be the same as the number of executors, i.e. Storm will run one task per thread.* Did I understand your concern? Does quote explain storm behaviour? 2016-05-16 10:06 GMT+02:00 Navin Ipe <[email protected]>: > @Matthew: That's the exact same article I've linked to in my first post > (on the word "explanation"). I couldn't understand it, which is why I asked > here. > Funny thing is, this answer on Stackoverflow > <http://stackoverflow.com/questions/27964271/storm-dynamically-increasing-the-executors> > explains tasks like as though they are the BoltParallelism (from my code), > but when I set BoltParallelism, I noticed that there were 3 instances of > BoltA created even though I did not specify any setNumTasks. > > On Mon, May 16, 2016 at 1:18 PM, Matthew Lowe <[email protected]> > wrote: > >> I think this is a great article to read: >> >> http://www.michael-noll.com/blog/2012/10/16/understanding-the-parallelism-of-a-storm-topology/ >> >> Best Regards >> Matthew Lowe >> >> On 16 May 2016, at 09:07, Adrien Carreira <[email protected]> wrote: >> >> +1 >> >> 2016-05-16 6:40 GMT+02:00 Navin Ipe <[email protected]>: >> >>> Hi, >>> >>> I've seen the explanations >>> <http://www.michael-noll.com/blog/2012/10/16/understanding-the-parallelism-of-a-storm-topology/>, >>> but none of them explain it in terms of what I see in the code. This is >>> what I understood: >>> >>> int BoltParallelism = 3; >>> int BoltTaskParallelism = 2; >>> builder.setBolt("bolt1", new BoltA(), *BoltParallelism*) >>> .setNumTasks(*BoltTaskParallelism*) >>> >>> BoltParallelism creates 3 instances of BoltA. These are the executors. >>> BoltTaskParallelism allows Tuples to come into BoltA very fast, and the >>> Bolt creates a task for processing each incoming Tuple. If there are not >>> enough tasks, then the excess Tuples are made to wait in a queue of the >>> executor. >>> >>> Strange thing is that the explanation says the tasks are run in a single >>> thread, so obviously I misunderstood something. Could you help me >>> understand it? >>> >>> -- >>> Regards, >>> Navin >>> >> >> > > > -- > Regards, > Navin >
