If you have access to the bolt, check what fields the bolt is expecting. You may have some coding issues when creating a Tuple for it.
Here is example of the method that defines what fields the bolt is outputting taken from https://storm.incubator.apache.org/documentation/Tutorial.html. The Execute method emits a Tuple with two fields, definitions of which can be found in declareOutputFields. @Override public void execute(Tuple input) { int val = input.getInteger(0); _collector.emit(input, new Values(val*2, val*3)); _collector.ack(input); } @Override public void declareOutputFields(OutputFieldsDeclarer declarer) { declarer.declare(new Fields("double", "triple")); } -D On Wed, Aug 13, 2014 at 9:47 AM, Jie Li <[email protected]> wrote: > Hi all, > > We've been testing Storm for a while and have been happy so far, but this > error seems a bit unknown and concerning. One of our topologies somehow > came across this error during testing with nothing really changed, so I > have no clue how to debug it. And it seems an transient error, as the > topology somehow recovered itself after running for a while. > > The storm version is 0.9.1 running with most of default settings. One > thing I noticed suspicious was the warning message of "Received invalid > messages for unknown tasks. Dropping... ". Not sure if it was related and > if anyone has idea? Here is the full stack trace of the error (that doesn't > seem useful): > java.lang.RuntimeException: java.lang.IllegalArgumentException: Tuple > created with wrong number of fields. Expected 2 fields but got 1 fields > at > backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:107) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at > backtype.storm.utils.DisruptorQueue.consumeBatch(DisruptorQueue.java:66) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at backtype.storm.disruptor$consume_batch.invoke(disruptor.clj:74) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at > backtype.storm.daemon.executor$eval3848$fn__3849$fn__3864$fn__3893.invoke(executor.clj:539) > ~[na:na] > at backtype.storm.util$async_loop$fn__384.invoke(util.clj:433) > ~[na:na] > at clojure.lang.AFn.run(AFn.java:24) [clojure-1.4.0.jar:na] > at java.lang.Thread.run(Thread.java:662) [na:1.6.0_38] > Caused by: java.lang.IllegalArgumentException: Tuple created with wrong > number of fields. Expected 2 fields but got 1 fields > at backtype.storm.tuple.TupleImpl.<init>(TupleImpl.java:55) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at > backtype.storm.serialization.KryoTupleDeserializer.deserialize(KryoTupleDeserializer.java:54) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at > backtype.storm.daemon.executor$mk_task_receiver$fn__3839.invoke(executor.clj:395) > ~[na:na] > at > backtype.storm.disruptor$clojure_handler$reify__1560.onEvent(disruptor.clj:58) > ~[na:na] > at > backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:104) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > ... 6 common frames omitted > 2014-08-13 01:14:58 b.s.d.executor [ERROR] > java.lang.RuntimeException: java.lang.IllegalArgumentException: Tuple > created with wrong number of fields. Expected 2 fields but got 1 fields > at > backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:107) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at > backtype.storm.utils.DisruptorQueue.consumeBatch(DisruptorQueue.java:66) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at backtype.storm.disruptor$consume_batch.invoke(disruptor.clj:74) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at > backtype.storm.daemon.executor$eval3848$fn__3849$fn__3864$fn__3893.invoke(executor.clj:539) > ~[na:na] > at backtype.storm.util$async_loop$fn__384.invoke(util.clj:433) > ~[na:na] > at clojure.lang.AFn.run(AFn.java:24) [clojure-1.4.0.jar:na] > at java.lang.Thread.run(Thread.java:662) [na:1.6.0_38] > Caused by: java.lang.IllegalArgumentException: Tuple created with wrong > number of fields. Expected 2 fields but got 1 fields > at backtype.storm.tuple.TupleImpl.<init>(TupleImpl.java:55) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at > backtype.storm.serialization.KryoTupleDeserializer.deserialize(KryoTupleDeserializer.java:54) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > at > backtype.storm.daemon.executor$mk_task_receiver$fn__3839.invoke(executor.clj:395) > ~[na:na] > at > backtype.storm.disruptor$clojure_handler$reify__1560.onEvent(disruptor.clj:58) > ~[na:na] > at > backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:104) > ~[storm-core-0.9.1-incubating.jar:0.9.1-incubating] > ... 6 common frames omitted > 2014-08-13 01:14:58 b.s.util [INFO] Halting process: ("Worker died") > Thanks, > Jie Li > Software engineer at Pinterest | www.linkedin.com/in/jay23jack/ >
