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