Tyson, Are you running the topology with numWorkers > 1 locally or across several hosts? I've had this happen when iptables were blocking workers from talking to each other on their assigned ports. There are no errors logged about this condition and the topology just seems to hang.
On Fri, Mar 28, 2014 at 11:49 AM, Tyson Norris <[email protected]> wrote: > Some more info on this: > I did run into this bug: https://issues.apache.org/jira/browse/STORM-187 > and tried the same on a source build of 0.9.2-incubating-SNAPSHOT > and have the same problem, I am guessing it is unrelated. > > I don't see any exception or other interesting items in the logs, just > no indication of my bolts getting input (nothing shows in logs and no input > showing in storm ui for the bolt that works fine with single worker). > > I see some slightly different behavior depending on which grouping I use: > .fieldsGrouping(counterId, new Fields("rsid", "word")); //DOES NOT work > (no input received) > .fieldsGrouping(counterId, new Fields("word")); //DOES work > .fieldsGrouping(counterId, new Fields("rsid")); //DOES work > > Is there some problem with using fieldsGrouping with multiple fields > from the same component AND having multiple workers? > > Should this instead be accomplished via: > .fieldsGrouping(counterId, new Fields("word")).fieldsGrouping(counterId, > new Fields("rsid")); > (which seems to work, afaict) > > My goal is to have each unique combination of word+rsid sent to the same > task, and I thought that .fieldsGrouping(counterId, new Fields("rsid", > "word")); would be sufficient. > > Thanks > Tyson > > > On Mar 28, 2014, at 10:44 AM, Tyson Norris <[email protected]> wrote: > > Hi - > I am using storm 0.9.1-incubating, and got a topology working locally that > I am interesting in testing scaling with multiple nodes on. > > However, I when I set the number of workers on the topology config > 1, > the some bolts stop receiving input. > > For example in my topology: > builder.setBolt("testBolt1", new TestRichBolt(1), 10) > .fieldsGrouping(counterId, new Fields("rsid", "word")); > builder.setBolt("testBolt2", new TestRichBolt(2), 10) > .fieldsGrouping("testBolt1", new Fields("rsid", "word")); > > Which works fine when number of workers = 1, and when number of workers = > 3, then testBolt2 does not receive any input. > > Any advice is appreciated. > > Thanks > Tyson > > >
