Support Questions

Find answers, ask questions, and share your expertise

Storm - local class incompatible - Stream Analytics Manager

Super Guru

When I submit my topology, I get following exception. I think its because on my Stream Analytics node where Storm client is installed, the storm-client version is from HDF 3.0.0.0-55. Whereas on the Storm cluster where Storm is running, the version is HDF 2.1.2.0-10.

Any ideas? How can I fix this?

java.lang.RuntimeException: java.io.InvalidClassException: org.apache.storm.topology.WindowedBoltExecutor; local class incompatible: stream classdesc serialVersionUID = -8337781798643023523, local class serialVersionUID = 7135129844698235650        at org.apache.storm.utils.Utils.javaDeserialize(Utils.java:253) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at org.apache.storm.utils.Utils.getSetComponentObject(Utils.java:505) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at org.apache.storm.daemon.task$get_task_object.invoke(task.clj:74) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at org.apache.storm.daemon.task$mk_task_data$fn__4858.invoke(task.clj:177) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at org.apache.storm.util$assoc_apply_self.invoke(util.clj:931) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at org.apache.storm.daemon.task$mk_task_data.invoke(task.clj:170) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at org.apache.storm.daemon.task$mk_task.invoke(task.clj:181) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at org.apache.storm.daemon.executor$mk_executor$fn__5078.invoke(executor.clj:370) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at clojure.core$map$fn__4553.invoke(core.clj:2622) ~[clojure-1.7.0.jar:?]        at clojure.lang.LazySeq.sval(LazySeq.java:40) ~[clojure-1.7.0.jar:?]        at clojure.lang.LazySeq.seq(LazySeq.java:49) ~[clojure-1.7.0.jar:?]        at clojure.lang.RT.seq(RT.java:507) ~[clojure-1.7.0.jar:?]        at clojure.core$seq__4128.invoke(core.clj:137) ~[clojure-1.7.0.jar:?]        at clojure.core.protocols$seq_reduce.invoke(protocols.clj:30) ~[clojure-1.7.0.jar:?]        at clojure.core.protocols$fn__6506.invoke(protocols.clj:101) ~[clojure-1.7.0.jar:?]        at clojure.core.protocols$fn__6452$G__6447__6465.invoke(protocols.clj:13) ~[clojure-1.7.0.jar:?]        at clojure.core$reduce.invoke(core.clj:6519) ~[clojure-1.7.0.jar:?]        at clojure.core$into.invoke(core.clj:6600) ~[clojure-1.7.0.jar:?]        at org.apache.storm.daemon.executor$mk_executor.invoke(executor.clj:371) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at org.apache.storm.daemon.worker$fn__5709$exec_fn__2468__auto__$reify__5711$iter__5716__5720$fn__5721.invoke(worker.clj:639) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at clojure.lang.LazySeq.sval(LazySeq.java:40) ~[clojure-1.7.0.jar:?]        at clojure.lang.LazySeq.seq(LazySeq.java:49) ~[clojure-1.7.0.jar:?]        at clojure.lang.Cons.next(Cons.java:39) ~[clojure-1.7.0.jar:?]        at clojure.lang.RT.next(RT.java:674) ~[clojure-1.7.0.jar:?]        at clojure.core$next__4112.invoke(core.clj:64) ~[clojure-1.7.0.jar:?]        at clojure.core$dorun.invoke(core.clj:3010) ~[clojure-1.7.0.jar:?]        at clojure.core$doall.invoke(core.clj:3025) ~[clojure-1.7.0.jar:?]        at org.apache.storm.daemon.worker$fn__5709$exec_fn__2468__auto__$reify__5711.run(worker.clj:639) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_77]        at javax.security.auth.Subject.doAs(Subject.java:422) ~[?:1.8.0_77]        at org.apache.storm.daemon.worker$fn__5709$exec_fn__2468__auto____5710.invoke(worker.clj:611) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at clojure.lang.AFn.applyToHelper(AFn.java:178) ~[clojure-1.7.0.jar:?]        at clojure.lang.AFn.applyTo(AFn.java:144) ~[clojure-1.7.0.jar:?]        at clojure.core$apply.invoke(core.clj:630) ~[clojure-1.7.0.jar:?]        at org.apache.storm.daemon.worker$fn__5709$mk_worker__5800.doInvoke(worker.clj:585) [storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at clojure.lang.RestFn.invoke(RestFn.java:512) [clojure-1.7.0.jar:?]        at org.apache.storm.daemon.worker$_main.invoke(worker.clj:769) [storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        at clojure.lang.AFn.applyToHelper(AFn.java:165) [clojure-1.7.0.jar:?]        at clojure.lang.AFn.applyTo(AFn.java:144) [clojure-1.7.0.jar:?]        at org.apache.storm.daemon.worker.main(Unknown Source) [storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]Caused by: java.io.InvalidClassException: org.apache.storm.topology.WindowedBoltExecutor; local class incompatible: stream classdesc serialVersionUID = -8337781798643023523, local class serialVersionUID = 7135129844698235650        at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:616) ~[?:1.8.0_77]        at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623) ~[?:1.8.0_77]        at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) ~[?:1.8.0_77]        at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774) ~[?:1.8.0_77]        at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) ~[?:1.8.0_77]        at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) ~[?:1.8.0_77]        at org.apache.storm.utils.Utils.javaDeserialize(Utils.java:249) ~[storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]        ... 39 more2017-03-21 04:40:29.526 o.a.s.util [ERROR] Halting process: ("Error on initialization")java.lang.RuntimeException: ("Error on initialization")        at org.apache.storm.util$exit_process_BANG_.doInvoke(util.clj:341) [storm-core-1.0.2.2.1.2.0-10.jar:1.0.2.2.1.2.0-10]
2 REPLIES 2

Contributor

have you tried to install a client of which version matches the server version?

@mqureshi

Try cleaning up the resources in storm.local.dir and re-deploy again. We do need the latest client from HDF-3.0.0.0-55 for streamline topology to be deployed.