Hi everybody,

I'm trying to use the interface IWorkerHook with LocalCluster.

For the moment I use BaseWorkerHook, registred like this :

final  BaseWorkerHook hook =new  BaseWorkerHook();
final  ByteBuffer serializedHook = ByteBuffer.wrap(Utils.javaSerialize(hook));
topo.add_to_worker_hooks(hook);

After killing the topology, Storm tries to deserialize the shutdown hooks. At this point a RuntimeException is thrown :

*java.lang.RuntimeException: java.io.EOFException*
    at org.apache.storm.utils.Utils.javaDeserialize(Utils.java:254)
    at 
org.apache.storm.daemon.worker$run_worker_shutdown_hooks$iter__5456__5460$fn__5461.invoke(worker.clj:578)
    at clojure.lang.LazySeq.sval(LazySeq.java:40)
    at clojure.lang.LazySeq.seq(LazySeq.java:49)
    at clojure.lang.RT.seq(RT.java:507)
    at clojure.core$seq__4128.invoke(core.clj:137)
    at clojure.core$dorun.invoke(core.clj:3009)
    at clojure.core$doall.invoke(core.clj:3025)
* at org.apache.storm.daemon.worker$run_worker_shutdown_hooks.invoke(worker.clj:576)*
    at 
org.apache.storm.daemon.worker$fn__5471$exec_fn__1371__auto__$reify__5473$shutdown_STAR___5493.invoke(worker.clj:693)
    at 
org.apache.storm.daemon.worker$fn__5471$exec_fn__1371__auto__$reify$reify__5519.shutdown(worker.clj:706)
    at org.apache.storm.ProcessSimulator.killProcess(ProcessSimulator.java:67)
    at 
org.apache.storm.daemon.supervisor.LocalContainer.kill(LocalContainer.java:59)
    at 
org.apache.storm.daemon.supervisor.Slot.killContainerForChangedAssignment(Slot.java:311)
    at org.apache.storm.daemon.supervisor.Slot.handleRunning(Slot.java:527)
    at org.apache.storm.daemon.supervisor.Slot.stateMachineStep(Slot.java:265)
    at org.apache.storm.daemon.supervisor.Slot.run(Slot.java:741)
Caused by: java.io.EOFException
    at 
java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2680)
    at 
java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:3155)
    at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:864)
    at java.io.ObjectInputStream.<init>(ObjectInputStream.java:360)
*     at org.apache.storm.utils.Utils.javaDeserialize(Utils.java:245)*
    ... 16 more


I described the problem in this issue : https://issues.apache.org/jira/browse/STORM-2979


Any help will be appreciated :)


Regards,

Robin

Reply via email to