You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@storm.apache.org by Yu Yang <yu...@gmail.com> on 2014/08/12 21:21:59 UTC

java.io.NotSerializableException exception in storm 0.8.2

Hi,

I am running a topology on a storm 0.8.2 cluster, and got the following
exception. The exception is thrown out by the worker, not from the code of
bolts or spouts. Is this a known issue that has been fixed in the latest
version of storm?  Does anyone know if there is a workaround for this
exception by tuning some parameters?

Thanks!

Regards,
Yu


java.lang.RuntimeException: java.lang.RuntimeException:
java.io.NotSerializableException: java.nio.HeapByteBuffer
	at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:87)
	at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:58)
	at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:62)
	at backtype.storm.disruptor$consume_loop_STAR_$fn__1619.invoke(disruptor.clj:73)
	at backtype.storm.util$async_loop$fn__465.invoke(util.clj:377)
	at clojure.lang.AFn.run(AFn.java:24)
	at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException:
java.io.NotSerializableException: java.nio.HeapByteBuffer
	at backtype.storm.serialization.SerializableSerializer.write(SerializableSerializer.java:24)
	at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:554)
	at com.esotericsoftware.kryo.serializers.CollectionSerializer.write(CollectionSerializer.java:77)
	at com.esotericsoftware.kryo.serializers.CollectionSerializer.write(CollectionSerializer.java:18)
	at com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:472)
	at backtype.storm.serialization.KryoValuesSerializer.serializeInto(KryoValuesSerializer.java:27)
	at backtype.storm.serialization.KryoTupleSerializer.serialize(KryoTupleSerializer.java:27)
	at backtype.storm.daemon.worker$mk_transfer_fn$fn__4152$fn__4156.invoke(worker.clj:99)
	at backtype.storm.util$fast_list_map.invoke(util.clj:771)
	at backtype.storm.daemon.worker$mk_transfer_fn$fn__4152.invoke(worker.clj:99)
	at backtype.storm.daemon.executor$start_batch_transfer__GT_worker_handler_BANG_$fn__3914.invoke(executor.clj:238)
	at backtype.storm.disruptor$clojure_handler$reify__1606.onEvent(disruptor.clj:43)
	at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:84)
	... 6 more
Caused by: java.io.NotSerializableException: java.nio.HeapByteBuffer
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164)
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
	at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518)
	at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483)
	at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400)
	at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158)
	at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330)
	at backtype.storm.serialization.SerializableSerializer.write(SerializableSerializer.java:21)
	... 18 more