storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nishu <nishuta...@gmail.com>
Subject CGLib generated Class not accessible in EsperBolt in clustermode
Date Thu, 29 May 2014 09:44:21 GMT
Hi,

I am using cglib-node2.2 with storm 0.9.1 for generating a Java-Bean
(com.cts.Syslog_vmstatsClass) at run-time which is used in EsperBolt. In
local mode, topology works fine but in cluster mode, it
gives java.lang.ClassNotFoundException exception.
Here is the error stack :

2014-05-29 12:57:59 b.s.d.worker [ERROR] Error on initialization of server
mk-worker
java.lang.RuntimeException: java.lang.ClassNotFoundException:
com.cts.Syslog_vmstatsClass
        at backtype.storm.utils.Utils.deserialize(Utils.java:88)
~[storm-core-0.9.1-incubating.jar:0.9.1-incubating]
        at backtype.storm.utils.Utils.getSetComponentObject(Utils.java:218)
~[storm-core-0.9.1-incubating.jar:0.9.1-incubating]
        at backtype.storm.daemon.task$get_task_object.invoke(task.clj:73)
~[storm-core-0.9.1-incubating.jar:0.9.1-incubating]
        at
backtype.storm.daemon.task$mk_task_data$fn__3402.invoke(task.clj:180)
~[na:0.9.1-incubating]
        at backtype.storm.util$assoc_apply_self.invoke(util.clj:792)
~[storm-core-0.9.1-incubating.jar:0.9.1-incubating]
        at backtype.storm.daemon.task$mk_task_data.invoke(task.clj:173)
~[storm-core-0.9.1-incubating.jar:0.9.1-incubating]
        at backtype.storm.daemon.task$mk_task.invoke(task.clj:184)
~[storm-core-0.9.1-incubating.jar:0.9.1-incubating]
        at
backtype.storm.daemon.executor$mk_executor$fn__3785.invoke(executor.clj:320)
~[na:0.9.1-incubating]
        at clojure.core$map$fn__4087.invoke(core.clj:2432)
~[clojure-1.4.0.jar:na]
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
~[clojure-1.4.0.jar:na]
        at clojure.lang.LazySeq.seq(LazySeq.java:60) ~[clojure-1.4.0.jar:na]
        at clojure.lang.RT.seq(RT.java:473) ~[clojure-1.4.0.jar:na]
        at clojure.core$seq.invoke(core.clj:133) ~[clojure-1.4.0.jar:na]
        at clojure.core.protocols$seq_reduce.invoke(protocols.clj:30)
~[clojure-1.4.0.jar:na]
        at clojure.core.protocols$fn__5875.invoke(protocols.clj:54)
~[clojure-1.4.0.jar:na]
        at
clojure.core.protocols$fn__5828$G__5823__5841.invoke(protocols.clj:13)
~[clojure-1.4.0.jar:na]
        at clojure.core$reduce.invoke(core.clj:6030) ~[clojure-1.4.0.jar:na]
        at clojure.core$into.invoke(core.clj:6077) ~[clojure-1.4.0.jar:na]
        at
backtype.storm.daemon.executor$mk_executor.invoke(executor.clj:320)
~[storm-core-0.9.1-incubating.jar:0.9.1-incubating]
        at
backtype.storm.daemon.worker$eval4413$exec_fn__1102__auto____4414$iter__4419__4423$fn__4424.invoke(worker.clj:375)
~[na:0.9.1-incubating]
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
~[clojure-1.4.0.jar:na]
        at clojure.lang.LazySeq.seq(LazySeq.java:60) ~[clojure-1.4.0.jar:na]
        at clojure.lang.RT.seq(RT.java:473) ~[clojure-1.4.0.jar:na]
        at clojure.core$seq.invoke(core.clj:133) ~[clojure-1.4.0.jar:na]
        at clojure.core$dorun.invoke(core.clj:2725) ~[clojure-1.4.0.jar:na]
        at clojure.core$doall.invoke(core.clj:2741) ~[clojure-1.4.0.jar:na]
        at
backtype.storm.daemon.worker$eval4413$exec_fn__1102__auto____4414.invoke(worker.clj:375)
~[na:0.9.1-incubating]
        at clojure.lang.AFn.applyToHelper(AFn.java:185)
[clojure-1.4.0.jar:na]
        at clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.4.0.jar:na]
        at clojure.core$apply.invoke(core.clj:601) ~[clojure-1.4.0.jar:na]
        at
backtype.storm.daemon.worker$eval4413$mk_worker__4469.doInvoke(worker.clj:344)
[na:0.9.1-incubating]
        at clojure.lang.RestFn.invoke(RestFn.java:512)
[clojure-1.4.0.jar:na]
        at backtype.storm.daemon.worker$_main.invoke(worker.clj:454)
[na:0.9.1-incubating]
        at clojure.lang.AFn.applyToHelper(AFn.java:172)
[clojure-1.4.0.jar:na]
        at clojure.lang.AFn.applyTo(AFn.java:151) [clojure-1.4.0.jar:na]
        at backtype.storm.daemon.worker.main(Unknown Source)
[storm-core-0.9.1-incubating.jar:0.9.1-incubating]
Caused by: java.lang.ClassNotFoundException: com.cts.Syslog_vmstatsClass
        at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
~[na:1.7.0_45]
        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
~[na:1.7.0_45]
        at java.security.AccessController.doPrivileged(Native Method)
~[na:1.7.0_45]
        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
~[na:1.7.0_45]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
~[na:1.7.0_45]
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
~[na:1.7.0_45]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
~[na:1.7.0_45]
        at java.lang.Class.forName0(Native Method) ~[na:1.7.0_45]
        at java.lang.Class.forName(Class.java:270) ~[na:1.7.0_45]
        at
java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:625)
~[na:1.7.0_45]
        at
java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
~[na:1.7.0_45]
        at
java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
~[na:1.7.0_45]
        at java.io.ObjectInputStream.readClass(ObjectInputStream.java:1483)
~[na:1.7.0_45]

Seems this issue is related to JVM, as class file is generated on runtime.
Any help is really appreciated..

Thanks,
Nishu Tayal

Mime
View raw message