I saw that on SO and wondered how folks had solved the issue, did you run
into any issues with 2.22 on the classpath?

Nick

On Thu, Oct 9, 2014 at 4:10 PM, Curtis Allen <[email protected]>
wrote:

> Your problem was answered in Stack Overflow
> http://stackoverflow.com/questions/24244689/kryo-compatibility-in-storm-0-9-1and-titan-graph-database-0-4-2-with-apache-cass/24246845#24246845
>
> Titan 0.4.2 + Storm 0.9.2 are compatible.
> Storm 0.9.2 is *not* compatible with Titan 0.5.0
>
> To fix this problem I had to make my own storm distribution with
> kryo-2.22.jar on the classpath.
>
> Hope this helps.
>
> On Thu, Oct 9, 2014 at 1:54 PM, Brian O'Neill <[email protected]>
> wrote:
>
>>
>> We just started using 0.5, so…
>> It was a non-prod environment, and we reloaded the data.
>> (I’m sure that is no help at all)
>>
>> Definitely check your classpath for the different kryo versions though.
>> Titan has a kryo as a dependency and it conflicts with Storm’s.
>> The classpath may be different when running in the cluster.
>>
>> (I believe it is possible to capture the line from the log file that is
>> spawning the worker to look at the classpath)
>>
>> -brian
>>
>> ---
>>
>> Brian O'Neill
>>
>> Chief Technology Officer
>>
>>
>> *Health Market Science*
>>
>> *The Science of Better Results*
>>
>> 2700 Horizon Drive • King of Prussia, PA • 19406
>>
>> M: 215.588.6024 • @boneill42 <http://www.twitter.com/boneill42>  •
>>
>> healthmarketscience.com
>>
>>
>> This information transmitted in this email message is for the intended
>> recipient only and may contain confidential and/or privileged material. If
>> you received this email in error and are not the intended recipient, or the
>> person responsible to deliver it to the intended recipient, please contact
>> the sender at the email above and delete this email and any attachments and
>> destroy any copies thereof. Any review, retransmission, dissemination,
>> copying or other use of, or taking any action in reliance upon, this
>> information by persons or entities other than the intended recipient is
>> strictly prohibited.
>>
>>
>>
>>
>> From: Nick Beenham <[email protected]>
>> Reply-To: <[email protected]>
>> Date: Thursday, October 9, 2014 at 3:45 PM
>> To: <[email protected]>
>> Subject: Re: What appears to be a Kryo Conflict
>>
>> It was stored with 0.5 and is being read with the same version. what was
>> your solution?
>>
>> thanks,
>>
>> Nick
>>
>> On Thu, Oct 9, 2014 at 3:36 PM, Brian O'Neill <[email protected]>
>> wrote:
>>
>>>
>>> We ran into the same problem.
>>>
>>> What version of Titan was used to load the graph database?
>>>
>>> If you’ve stored data with 0.4, and you are trying to read it with 0.5
>>> (from Storm), you may run into Kryo version issues.
>>>
>>> -brian
>>>
>>> ---
>>>
>>> Brian O'Neill
>>>
>>> Chief Technology Officer
>>>
>>>
>>> *Health Market Science*
>>>
>>> *The Science of Better Results*
>>>
>>> 2700 Horizon Drive • King of Prussia, PA • 19406
>>>
>>> M: 215.588.6024 • @boneill42 <http://www.twitter.com/boneill42>  •
>>>
>>> healthmarketscience.com
>>>
>>>
>>> This information transmitted in this email message is for the intended
>>> recipient only and may contain confidential and/or privileged material. If
>>> you received this email in error and are not the intended recipient, or the
>>> person responsible to deliver it to the intended recipient, please contact
>>> the sender at the email above and delete this email and any attachments and
>>> destroy any copies thereof. Any review, retransmission, dissemination,
>>> copying or other use of, or taking any action in reliance upon, this
>>> information by persons or entities other than the intended recipient is
>>> strictly prohibited.
>>>
>>>
>>>
>>>
>>> From: Nick Beenham <[email protected]>
>>> Reply-To: <[email protected]>
>>> Date: Thursday, October 9, 2014 at 2:58 PM
>>> To: <[email protected]>
>>> Subject: What appears to be a Kryo Conflict
>>>
>>> Hi all,
>>>
>>> I have a peculiar problem...
>>>
>>> I'm using a kafka storm combo to feed updates to my Titan Graph db. The
>>> topology runs quite happily when local but as soon as I try to run it on a
>>> cluster I run into Kryo errors.
>>>
>>> 2014-10-09 18:41:47 b.s.util [ERROR] Async loop died!
>>> java.lang.RuntimeException: com.esotericsoftware.kryo.KryoException:
>>> Encountered unregistered class ID: 10
>>> at
>>> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:128)
>>> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>>> at
>>> backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:99)
>>> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>>> at
>>> backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:80)
>>> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>>> at
>>> backtype.storm.daemon.executor$fn__5641$fn__5653$fn__5700.invoke(executor.clj:746)
>>> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>>> at backtype.storm.util$async_loop$fn__457.invoke(util.clj:431)
>>> ~[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:744) [na:1.7.0_45]
>>> Caused by: com.esotericsoftware.kryo.KryoException: Encountered
>>> unregistered class ID: 10
>>> at
>>> com.esotericsoftware.kryo.util.DefaultClassResolver.readClass(DefaultClassResolver.java:119)
>>> ~[kryo-2.21.jar:na]
>>> at com.esotericsoftware.kryo.Kryo.readClass(Kryo.java:610)
>>> ~[kryo-2.21.jar:na]
>>> at com.esotericsoftware.kryo.Kryo.readClassAndObject(Kryo.java:721)
>>> ~[kryo-2.21.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.database.serialize.kryo.KryoSerializer.readClassAndObject(KryoSerializer.java:77)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.database.serialize.StandardSerializer.readClassAndObject(StandardSerializer.java:85)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.database.EdgeSerializer.readPropertyValue(EdgeSerializer.java:206)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.database.EdgeSerializer.readPropertyValue(EdgeSerializer.java:201)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.database.EdgeSerializer.parseRelation(EdgeSerializer.java:134)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.database.EdgeSerializer.readRelation(EdgeSerializer.java:70)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.transaction.RelationConstructor.readRelation(RelationConstructor.java:61)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.transaction.RelationConstructor$1$1.next(RelationConstructor.java:46)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.transaction.RelationConstructor$1$1.next(RelationConstructor.java:34)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.types.vertices.TitanSchemaVertex.getDefinition(TitanSchemaVertex.java:73)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.types.vertices.PropertyKeyVertex.getDataType(PropertyKeyVertex.java:17)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.query.QueryUtil.constraints2QNF(QueryUtil.java:148)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.query.graph.GraphCentricQueryBuilder.constructQuery(GraphCentricQueryBuilder.java:208)
>>> ~[stormjar.jar:na]
>>> at
>>> com.thinkaurelius.titan.graphdb.query.graph.GraphCentricQueryBuilder.vertices(GraphCentricQueryBuilder.java:155)
>>> ~[stormjar.jar:na]
>>> at
>>> com.tinkerpop.pipes.transform.GraphQueryPipe.processNextStart(GraphQueryPipe.java:49)
>>> ~[stormjar.jar:na]
>>> at
>>> com.tinkerpop.pipes.transform.GraphQueryPipe.processNextStart(GraphQueryPipe.java:17)
>>> ~[stormjar.jar:na]
>>> at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89)
>>> ~[stormjar.jar:na]
>>> at
>>> com.tinkerpop.pipes.IdentityPipe.processNextStart(IdentityPipe.java:19)
>>> ~[stormjar.jar:na]
>>> at com.tinkerpop.pipes.AbstractPipe.next(AbstractPipe.java:89)
>>> ~[stormjar.jar:na]
>>> at com.tinkerpop.pipes.util.Pipeline.next(Pipeline.java:115)
>>> ~[stormjar.jar:na]
>>> at
>>> com.tinkerpop.pipes.util.PipeHelper.fillCollection(PipeHelper.java:52)
>>> ~[stormjar.jar:na]
>>> at
>>> com.tinkerpop.gremlin.java.GremlinPipeline.toList(GremlinPipeline.java:1564)
>>> ~[stormjar.jar:na]
>>> at
>>> com.comcast.graph.event.bolt.GraphSearchMetricsBolt.execute(GraphSearchMetricsBolt.java:83)
>>> ~[stormjar.jar:na]
>>> at
>>> backtype.storm.topology.BasicBoltExecutor.execute(BasicBoltExecutor.java:50)
>>> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>>> at
>>> backtype.storm.daemon.executor$fn__5641$tuple_action_fn__5643.invoke(executor.clj:631)
>>> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>>> at
>>> backtype.storm.daemon.executor$mk_task_receiver$fn__5564.invoke(executor.clj:399)
>>> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>>> at
>>> backtype.storm.disruptor$clojure_handler$reify__745.onEvent(disruptor.clj:58)
>>> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>>> at
>>> backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:120)
>>> ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
>>> ... 6 common frames omitted
>>>
>>> Looking at my dependency tree, titan has a dependency on kryo 2.22, how
>>> does this conflict with Storm and 2.21?
>>>
>>> titan:
>>> *[INFO] |  \- com.esotericsoftware.kryo:kryo:jar:2.22:compile*
>>>
>>> Regards,
>>>
>>> Nick
>>>
>>>
>>
>

Reply via email to