You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by "Nick R. Katsipoulakis" <ni...@gmail.com> on 2015/03/04 19:06:48 UTC
Spout gets a RuntimeException during initialization
Hello all,
I attempt to submit a topology with one spout and two bolts. During
initialization I see that the two bolts start execution normally, but my
spout sends the following error to the Storm UI and does not start
execution:
java.lang.RuntimeException: Cannot get field 'spout' because union is
currently set to bolt
at backtype.storm.generated.ExecutorSpecificStats.get_spout(ExecutorSpecificStats.java:259)
at backtype.storm.ui.core$aggregate_spout_stats$fn__7713.invoke(core.clj:197)
at clojure.core$map$fn__4207.invoke(core.clj:2485)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.RT.seq(RT.java:484)
at clojure.core$seq.invoke(core.clj:133)
at clojure.core$map$fn__4207.invoke(core.clj:2479)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.Cons.next(Cons.java:39)
at clojure.lang.RT.boundedLength(RT.java:1654)
at clojure.lang.RestFn.applyTo(RestFn.java:130)
at clojure.core$apply.invoke(core.clj:619)
at backtype.storm.ui.core$aggregate_counts.invoke(core.clj:119)
at backtype.storm.ui.core$aggregate_spout_stats.invoke(core.clj:197)
at backtype.storm.ui.core$spout_streams_stats.invoke(core.clj:298)
at backtype.storm.ui.core$visualization_data$iter__7803__7807$fn__7808.invoke(core.clj:386)
at clojure.lang.LazySeq.sval(LazySeq.java:42)
at clojure.lang.LazySeq.seq(LazySeq.java:60)
at clojure.lang.Cons.next(Cons.java:39)
at clojure.lang.RT.next(RT.java:598)
at clojure.core$next.invoke(core.clj:64)
at clojure.core$dorun.invoke(core.clj:2781)
at clojure.core$doall.invoke(core.clj:2796)
at backtype.storm.ui.core$visualization_data.invoke(core.clj:412)
at backtype.storm.ui.core$topology_page.invoke(core.clj:601)
at backtype.storm.ui.core$fn__8229.invoke(core.clj:796)
at compojure.core$make_route$fn__3365.invoke(core.clj:93)
at compojure.core$if_route$fn__3353.invoke(core.clj:39)
at compojure.core$if_method$fn__3346.invoke(core.clj:24)
at compojure.core$routing$fn__3371.invoke(core.clj:106)
at clojure.core$some.invoke(core.clj:2443)
at compojure.core$routing.doInvoke(core.clj:106)
at clojure.lang.RestFn.applyTo(RestFn.java:139)
at clojure.core$apply.invoke(core.clj:619)
at compojure.core$routes$fn__3375.invoke(core.clj:111)
at ring.middleware.reload$wrap_reload$fn__7540.invoke(reload.clj:14)
at backtype.storm.ui.core$catch_errors$fn__8268.invoke(core.clj:858)
at ring.middleware.keyword_params$wrap_keyword_params$fn__4029.invoke(keyword_params.clj:27)
at ring.middleware.nested_params$wrap_nested_params$fn__4068.invoke(nested_params.clj:65)
at ring.middleware.params$wrap_params$fn__4001.invoke(params.clj:55)
at ring.middleware.multipart_params$wrap_multipart_params$fn__4096.invoke(multipart_params.clj:103)
at ring.middleware.flash$wrap_flash$fn__4277.invoke(flash.clj:14)
at ring.middleware.session$wrap_session$fn__4266.invoke(session.clj:43)
at ring.middleware.cookies$wrap_cookies$fn__4197.invoke(cookies.clj:160)
at ring.adapter.jetty$proxy_handler$fn__7179.invoke(jetty.clj:16)
at ring.adapter.jetty.proxy$org.mortbay.jetty.handler.AbstractHandler$0.handle(Unknown
Source)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Any indication on what is reason of this exception and where I should look?
Thank you,
Nick
--
Nikolaos Romanos Katsipoulakis,
University of Pittsburgh, PhD candidate
Re: Spout gets a RuntimeException during initialization
Posted by Kosala Dissanayake <um...@gmail.com>.
backtype.storm.metrics.LoggingMetricsConsumer
Did you check whether this class is actually available in your jar?
On Thu, Mar 5, 2015 at 9:16 AM, Nick R. Katsipoulakis <nick.katsip@gmail.com
> wrote:
> Hello again,
>
> So, I spent sometime looking into the logs and I receive the following
> exception in each machine that I try to instantiate my spout:
>
> java.lang.RuntimeException: Could not instantiate a class listed in config
> under section topology.metrics.consumer.register with fully qualified name
> backtype.storm.metrics.LoggingMetricsConsumer
> at
> backtype.storm.metric.MetricsConsumerBolt.prepare(MetricsConsumerBolt.java:46)
> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
> at
> backtype.storm.daemon.executor$fn__5641$fn__5653.invoke(executor.clj:690)
> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
> at backtype.storm.util$async_loop$fn__457.invoke(util.clj:429)
> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
> at clojure.lang.AFn.run(AFn.java:24) [clojure-1.5.1.jar:na]
> at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
> Caused by: java.lang.ClassNotFoundException:
> backtype.storm.metrics.LoggingMetricsConsumer
> at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
> ~[na:1.7.0_75]
> at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
> ~[na:1.7.0_75]
> at java.security.AccessController.doPrivileged(Native Method)
> ~[na:1.7.0_75]
> at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
> ~[na:1.7.0_75]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_75]
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
> ~[na:1.7.0_75]
> at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_75]
> at java.lang.Class.forName0(Native Method) ~[na:1.7.0_75]
> at java.lang.Class.forName(Class.java:191) ~[na:1.7.0_75]
> at
> backtype.storm.metric.MetricsConsumerBolt.prepare(MetricsConsumerBolt.java:44)
> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>
> Why is this happening? Am I lacking some of the classes needed in order to
> use the Metrics API?
>
> My storm.yaml for my worker machines has the following lines:
>
> ## Metrics Consumers
> topology.metrics.consumer.register:
> - class: "backtype.storm.metrics.LoggingMetricsConsumer"
> parallelism.hint: 1
>
> Does the above exception has anything to do with the version of Storm I am
> using (0.9.2)?
>
> Thanks,
> Nikos
>
>
>
> 2015-03-04 13:06 GMT-05:00 Nick R. Katsipoulakis <ni...@gmail.com>:
>
> Hello all,
>>
>> I attempt to submit a topology with one spout and two bolts. During
>> initialization I see that the two bolts start execution normally, but my
>> spout sends the following error to the Storm UI and does not start
>> execution:
>>
>> java.lang.RuntimeException: Cannot get field 'spout' because union is currently set to bolt
>> at backtype.storm.generated.ExecutorSpecificStats.get_spout(ExecutorSpecificStats.java:259)
>> at backtype.storm.ui.core$aggregate_spout_stats$fn__7713.invoke(core.clj:197)
>> at clojure.core$map$fn__4207.invoke(core.clj:2485)
>> at clojure.lang.LazySeq.sval(LazySeq.java:42)
>> at clojure.lang.LazySeq.seq(LazySeq.java:60)
>> at clojure.lang.RT.seq(RT.java:484)
>> at clojure.core$seq.invoke(core.clj:133)
>> at clojure.core$map$fn__4207.invoke(core.clj:2479)
>> at clojure.lang.LazySeq.sval(LazySeq.java:42)
>> at clojure.lang.LazySeq.seq(LazySeq.java:60)
>> at clojure.lang.Cons.next(Cons.java:39)
>> at clojure.lang.RT.boundedLength(RT.java:1654)
>> at clojure.lang.RestFn.applyTo(RestFn.java:130)
>> at clojure.core$apply.invoke(core.clj:619)
>> at backtype.storm.ui.core$aggregate_counts.invoke(core.clj:119)
>> at backtype.storm.ui.core$aggregate_spout_stats.invoke(core.clj:197)
>> at backtype.storm.ui.core$spout_streams_stats.invoke(core.clj:298)
>> at backtype.storm.ui.core$visualization_data$iter__7803__7807$fn__7808.invoke(core.clj:386)
>> at clojure.lang.LazySeq.sval(LazySeq.java:42)
>> at clojure.lang.LazySeq.seq(LazySeq.java:60)
>> at clojure.lang.Cons.next(Cons.java:39)
>> at clojure.lang.RT.next(RT.java:598)
>> at clojure.core$next.invoke(core.clj:64)
>> at clojure.core$dorun.invoke(core.clj:2781)
>> at clojure.core$doall.invoke(core.clj:2796)
>> at backtype.storm.ui.core$visualization_data.invoke(core.clj:412)
>> at backtype.storm.ui.core$topology_page.invoke(core.clj:601)
>> at backtype.storm.ui.core$fn__8229.invoke(core.clj:796)
>> at compojure.core$make_route$fn__3365.invoke(core.clj:93)
>> at compojure.core$if_route$fn__3353.invoke(core.clj:39)
>> at compojure.core$if_method$fn__3346.invoke(core.clj:24)
>> at compojure.core$routing$fn__3371.invoke(core.clj:106)
>> at clojure.core$some.invoke(core.clj:2443)
>> at compojure.core$routing.doInvoke(core.clj:106)
>> at clojure.lang.RestFn.applyTo(RestFn.java:139)
>> at clojure.core$apply.invoke(core.clj:619)
>> at compojure.core$routes$fn__3375.invoke(core.clj:111)
>> at ring.middleware.reload$wrap_reload$fn__7540.invoke(reload.clj:14)
>> at backtype.storm.ui.core$catch_errors$fn__8268.invoke(core.clj:858)
>> at ring.middleware.keyword_params$wrap_keyword_params$fn__4029.invoke(keyword_params.clj:27)
>> at ring.middleware.nested_params$wrap_nested_params$fn__4068.invoke(nested_params.clj:65)
>> at ring.middleware.params$wrap_params$fn__4001.invoke(params.clj:55)
>> at ring.middleware.multipart_params$wrap_multipart_params$fn__4096.invoke(multipart_params.clj:103)
>> at ring.middleware.flash$wrap_flash$fn__4277.invoke(flash.clj:14)
>> at ring.middleware.session$wrap_session$fn__4266.invoke(session.clj:43)
>> at ring.middleware.cookies$wrap_cookies$fn__4197.invoke(cookies.clj:160)
>> at ring.adapter.jetty$proxy_handler$fn__7179.invoke(jetty.clj:16)
>> at ring.adapter.jetty.proxy$org.mortbay.jetty.handler.AbstractHandler$0.handle(Unknown Source)
>> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
>> at org.mortbay.jetty.Server.handle(Server.java:326)
>> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
>> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
>> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
>> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
>> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
>> at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
>> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>>
>>
>> Any indication on what is reason of this exception and where I should look?
>>
>> Thank you,
>> Nick
>>
>> --
>> Nikolaos Romanos Katsipoulakis,
>> University of Pittsburgh, PhD candidate
>>
>
>
>
> --
> Nikolaos Romanos Katsipoulakis,
> University of Pittsburgh, PhD candidate
>
Re: Spout gets a RuntimeException during initialization
Posted by "Nick R. Katsipoulakis" <ni...@gmail.com>.
Hello again,
So, I spent sometime looking into the logs and I receive the following
exception in each machine that I try to instantiate my spout:
java.lang.RuntimeException: Could not instantiate a class listed in config
under section topology.metrics.consumer.register with fully qualified name
backtype.storm.metrics.LoggingMetricsConsumer
at
backtype.storm.metric.MetricsConsumerBolt.prepare(MetricsConsumerBolt.java:46)
~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
at
backtype.storm.daemon.executor$fn__5641$fn__5653.invoke(executor.clj:690)
~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
at backtype.storm.util$async_loop$fn__457.invoke(util.clj:429)
~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
at clojure.lang.AFn.run(AFn.java:24) [clojure-1.5.1.jar:na]
at java.lang.Thread.run(Thread.java:745) [na:1.7.0_75]
Caused by: java.lang.ClassNotFoundException:
backtype.storm.metrics.LoggingMetricsConsumer
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) ~[na:1.7.0_75]
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) ~[na:1.7.0_75]
at java.security.AccessController.doPrivileged(Native Method)
~[na:1.7.0_75]
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
~[na:1.7.0_75]
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) ~[na:1.7.0_75]
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
~[na:1.7.0_75]
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ~[na:1.7.0_75]
at java.lang.Class.forName0(Native Method) ~[na:1.7.0_75]
at java.lang.Class.forName(Class.java:191) ~[na:1.7.0_75]
at
backtype.storm.metric.MetricsConsumerBolt.prepare(MetricsConsumerBolt.java:44)
~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
Why is this happening? Am I lacking some of the classes needed in order to
use the Metrics API?
My storm.yaml for my worker machines has the following lines:
## Metrics Consumers
topology.metrics.consumer.register:
- class: "backtype.storm.metrics.LoggingMetricsConsumer"
parallelism.hint: 1
Does the above exception has anything to do with the version of Storm I am
using (0.9.2)?
Thanks,
Nikos
2015-03-04 13:06 GMT-05:00 Nick R. Katsipoulakis <ni...@gmail.com>:
> Hello all,
>
> I attempt to submit a topology with one spout and two bolts. During
> initialization I see that the two bolts start execution normally, but my
> spout sends the following error to the Storm UI and does not start
> execution:
>
> java.lang.RuntimeException: Cannot get field 'spout' because union is currently set to bolt
> at backtype.storm.generated.ExecutorSpecificStats.get_spout(ExecutorSpecificStats.java:259)
> at backtype.storm.ui.core$aggregate_spout_stats$fn__7713.invoke(core.clj:197)
> at clojure.core$map$fn__4207.invoke(core.clj:2485)
> at clojure.lang.LazySeq.sval(LazySeq.java:42)
> at clojure.lang.LazySeq.seq(LazySeq.java:60)
> at clojure.lang.RT.seq(RT.java:484)
> at clojure.core$seq.invoke(core.clj:133)
> at clojure.core$map$fn__4207.invoke(core.clj:2479)
> at clojure.lang.LazySeq.sval(LazySeq.java:42)
> at clojure.lang.LazySeq.seq(LazySeq.java:60)
> at clojure.lang.Cons.next(Cons.java:39)
> at clojure.lang.RT.boundedLength(RT.java:1654)
> at clojure.lang.RestFn.applyTo(RestFn.java:130)
> at clojure.core$apply.invoke(core.clj:619)
> at backtype.storm.ui.core$aggregate_counts.invoke(core.clj:119)
> at backtype.storm.ui.core$aggregate_spout_stats.invoke(core.clj:197)
> at backtype.storm.ui.core$spout_streams_stats.invoke(core.clj:298)
> at backtype.storm.ui.core$visualization_data$iter__7803__7807$fn__7808.invoke(core.clj:386)
> at clojure.lang.LazySeq.sval(LazySeq.java:42)
> at clojure.lang.LazySeq.seq(LazySeq.java:60)
> at clojure.lang.Cons.next(Cons.java:39)
> at clojure.lang.RT.next(RT.java:598)
> at clojure.core$next.invoke(core.clj:64)
> at clojure.core$dorun.invoke(core.clj:2781)
> at clojure.core$doall.invoke(core.clj:2796)
> at backtype.storm.ui.core$visualization_data.invoke(core.clj:412)
> at backtype.storm.ui.core$topology_page.invoke(core.clj:601)
> at backtype.storm.ui.core$fn__8229.invoke(core.clj:796)
> at compojure.core$make_route$fn__3365.invoke(core.clj:93)
> at compojure.core$if_route$fn__3353.invoke(core.clj:39)
> at compojure.core$if_method$fn__3346.invoke(core.clj:24)
> at compojure.core$routing$fn__3371.invoke(core.clj:106)
> at clojure.core$some.invoke(core.clj:2443)
> at compojure.core$routing.doInvoke(core.clj:106)
> at clojure.lang.RestFn.applyTo(RestFn.java:139)
> at clojure.core$apply.invoke(core.clj:619)
> at compojure.core$routes$fn__3375.invoke(core.clj:111)
> at ring.middleware.reload$wrap_reload$fn__7540.invoke(reload.clj:14)
> at backtype.storm.ui.core$catch_errors$fn__8268.invoke(core.clj:858)
> at ring.middleware.keyword_params$wrap_keyword_params$fn__4029.invoke(keyword_params.clj:27)
> at ring.middleware.nested_params$wrap_nested_params$fn__4068.invoke(nested_params.clj:65)
> at ring.middleware.params$wrap_params$fn__4001.invoke(params.clj:55)
> at ring.middleware.multipart_params$wrap_multipart_params$fn__4096.invoke(multipart_params.clj:103)
> at ring.middleware.flash$wrap_flash$fn__4277.invoke(flash.clj:14)
> at ring.middleware.session$wrap_session$fn__4266.invoke(session.clj:43)
> at ring.middleware.cookies$wrap_cookies$fn__4197.invoke(cookies.clj:160)
> at ring.adapter.jetty$proxy_handler$fn__7179.invoke(jetty.clj:16)
> at ring.adapter.jetty.proxy$org.mortbay.jetty.handler.AbstractHandler$0.handle(Unknown Source)
> at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
> at org.mortbay.jetty.Server.handle(Server.java:326)
> at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
> at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
> at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
> at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
> at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
> at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
> at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
>
>
> Any indication on what is reason of this exception and where I should look?
>
> Thank you,
> Nick
>
> --
> Nikolaos Romanos Katsipoulakis,
> University of Pittsburgh, PhD candidate
>
--
Nikolaos Romanos Katsipoulakis,
University of Pittsburgh, PhD candidate