with 4 workers, by default, you would also have 4 acker tasks (1 / worker), which is why you might see 8 tasks.

On Mon, Feb 23, 2015 at 1:56 PM, Nick R. Katsipoulakis <nick.katsip@gmail.com> wrote:

I am trying to control my cluster's parallelism and I want to achieve the following: 1 worker per component, and 1 executioner per worker and 1 task per executioner. In order to achieve the former, I submit my components to the topology as follows:

Config conf = new Config();

TopologyBuilder builder = new TopologyBuilder();
                new GreenSpout(), 1)
                new GreenBolt(), 1)
                new RedBolt(), 1)
                new YellowBolt(), 1)

StormSubmitter.submitTopology("experimental-top", conf, builder.createTopology());

The above not only sets the parallelism hint (executioner threads per worker) to 1, but also the number of workers per component to 1. However, when I submit my topology, and I perform a storm list, I can see that I have 4 workers and 8 tasks running. Is this normal? My goal is to have each component executed by 1 thread on each machine. Am I missing something?


Nikolaos Romanos Katsipoulakis,
University of Pittsburgh, PhD candidate