You are attempting to serialize the empty keyword. The empty string, "", is fine to store, but : is not. You will get the same error from (read-string ":").
On Monday, August 6, 2012 4:55:23 AM UTC-7, 4m1r wrote: > > I am using Storm which is based on Clojure. while emitting a map which has > keywords as keys we get the following exception. When we have strings as > keys we dont get this exception. Sounds like serialization problem. I have > also checked the source of LispReader it should have : as a valid token. > > java.lang.RuntimeException: Invalid token: : > at clojure.lang.Util.runtimeException(Util.java:170) > at clojure.lang.LispReader.interpretToken(LispReader.java:321) > at clojure.lang.LispReader.read(LispReader.java:206) > at clojure.lang.RT.readString(RT.java:1707) > at clojure.core$read_string.invoke(core.clj:3361) > at carbonite.serializer$clj_read.invoke(serializer.clj:26) > at carbonite.serializer$fn__45$fn__46.invoke(serializer.clj:34) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at carbonite.serializer$read_map$fn__89.invoke(serializer.clj:84) > at carbonite.serializer$read_map.invoke(serializer.clj:79) > at > carbonite.serializer$clojure_map_serializer$fn__92.invoke(serializer.clj:91) > at > carbonite.serializer.proxy$com.esotericsoftware.kryo.Serializer$0.readObjectData(Unknown > > Source) > at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:566) > at > com.esotericsoftware.kryo.serialize.CollectionSerializer.readObjectData(CollectionSerializer.java:113) > at > com.esotericsoftware.kryo.Serializer.readObject(Serializer.java:61) > at com.esotericsoftware.kryo.Kryo.readObject(Kryo.java:589) > at > com.esotericsoftware.kryo.ObjectBuffer.readObject(ObjectBuffer.java:101) > at backtype.storm.serialization.KryoValuesDe > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en