I'm guessing here...
The old Serialized class came from either files on disk, or from code that had access to the old class. Have you tried completely removing all traces of the old version ? (all data files and jar files) From your details flow below I assume both nimbus and supervisor are running on the same machine with access to the same deployment folder. If not, make sure you have deleted all traces from both machines. Itai ________________________________ From: 唐思成 <[email protected]> Sent: Friday, July 18, 2014 9:41 AM To: user Subject: Re: Re: storm upgrade issue pretty sure that I run the same version on worknode as I do on the maternode 2014-07-18 ________________________________ 唐思成 ________________________________ 发件人: Harsha 发送时间: 2014-07-18 13:21:08 收件人: user 抄送: 主题: Re: storm upgrade issue Does your worker node also have the same storm version installed make sure your older STORM_HOME is not in PATH. On Thu, Jul 17, 2014, at 06:39 PM, 唐思成 wrote: the step i took listed below 1. kill -9 all storm process 2. remove storm directory on zookeeper 3. change storm local dir 4. start nimbus and ui (is fine) 5. start supervisor on a worknode( the nimbus goes down) 2014-07-18 ________________________________ 唐思成 ________________________________ 发件人: Itai Frenkel 发送时间: 2014-07-18 00:16:21 收件人: storm_user 抄送: 主题: RE: storm upgrade issue The message says that SupervisorInfo that your code was compiled with is not compatible with the SupervisorInfo that was received over the network. That happens when you have a Serializable class that changes and there is no explicit backwards compatibility in place. I would first check that all of your Storm instances are running the same version. If that does not help I would check that you code is compiled against the correct code version. Please report your findings, since it's interesting :) full disclosure - I'm a Storm newbie, Itai ________________________________ From: 唐思成 <[email protected]> Sent: Thursday, July 17, 2014 2:23 PM To: storm_user Subject: storm upgrade issue Hi all: I try to upgrade storm from 0.9.1 to 0.9.2-incubating, and when the worknode supervisor startup, the nimbus process goes down, here is what the nimbus.log say: Before upgrade, I already change storm.local.dir: to a new location and remove storm node in zookeeper using zkCli.sh, however that dont help. AnyIdea? 2014-07-17 19:15:29 b.s.d.nimbus [ERROR] Error when processing event java.lang.RuntimeException: java.io.InvalidClassException: backtype.storm.daemon.common.SupervisorInfo; local class incompatible: stream classdesc serialVersionUID = 7648414326720210054, local class serialVersionUID = 7463898661547835557 at backtype.storm.utils.Utils.deserialize(Utils.java:93) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at backtype.storm.cluster$maybe_deserialize.invoke(cluster.clj:200) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at backtype.storm.cluster$mk_storm_cluster_state$reify__2284.supervisor_info(cluster.clj:299) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:na] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:na] at java.lang.reflect.Method.invoke(Method.java:597) ~[na:na] at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) ~[clojure-1.5.1.jar:na] at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28) ~[clojure-1.5.1.jar:na] at backtype.storm.daemon.nimbus$all_supervisor_info$fn__4715.invoke(nimbus.clj:277) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at clojure.core$map$fn__4207.invoke(core.clj:2487) ~[clojure-1.5.1.jar:na] at clojure.lang.LazySeq.sval(LazySeq.java:42) ~[clojure-1.5.1.jar:na] at clojure.lang.LazySeq.seq(LazySeq.java:60) ~[clojure-1.5.1.jar:na] at clojure.lang.RT.seq(RT.java:484) ~[clojure-1.5.1.jar:na] at clojure.core$seq.invoke(core.clj:133) ~[clojure-1.5.1.jar:na] at clojure.core$apply.invoke(core.clj:617) ~[clojure-1.5.1.jar:na] at clojure.core$mapcat.doInvoke(core.clj:2514) ~[clojure-1.5.1.jar:na] at clojure.lang.RestFn.invoke(RestFn.java:423) ~[clojure-1.5.1.jar:na] at backtype.storm.daemon.nimbus$all_supervisor_info.invoke(nimbus.clj:275) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at backtype.storm.daemon.nimbus$all_scheduling_slots.invoke(nimbus.clj:288) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at backtype.storm.daemon.nimbus$compute_new_topology__GT_executor__GT_node_PLUS_port.invoke(nimbus.clj:580) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at backtype.storm.daemon.nimbus$mk_assignments.doInvoke(nimbus.clj:660) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at clojure.lang.RestFn.invoke(RestFn.java:410) ~[clojure-1.5.1.jar:na] at backtype.storm.daemon.nimbus$fn__5210$exec_fn__1396__auto____5211$fn__5216$fn__5217.invoke(nimbus.clj:905) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at backtype.storm.daemon.nimbus$fn__5210$exec_fn__1396__auto____5211$fn__5216.invoke(nimbus.clj:904) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at backtype.storm.timer$schedule_recurring$this__1134.invoke(timer.clj:99) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at backtype.storm.timer$mk_timer$fn__1117$fn__1118.invoke(timer.clj:50) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] at backtype.storm.timer$mk_timer$fn__1117.invoke(timer.clj:42) [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:619) [na:na] Caused by: java.io.InvalidClassException: backtype.storm.daemon.common.SupervisorInfo; local class incompatible: stream classdesc serialVersionUID = 7648414326720210054, local class serialVersionUID = 7463898661547835557 at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:562) ~[na:na] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1583) ~[na:na] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) ~[na:na] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) ~[na:na] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) ~[na:na] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) ~[na:na] at backtype.storm.utils.Utils.deserialize(Utils.java:89) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating] ... 29 common frames omitted
