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:8
0) ~[storm-core-0.9.2-incubating.jar:0.9.2-incubating]
at 
backtype.storm.daemon.executor$fn__5641$fn__5653$fn__5700.invoke(executor.cl
j: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(DefaultClassRe
solver.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.readC
lassAndObject(KryoSerializer.java:77) ~[stormjar.jar:na]
at 
com.thinkaurelius.titan.graphdb.database.serialize.StandardSerializer.readCl
assAndObject(StandardSerializer.java:85) ~[stormjar.jar:na]
at 
com.thinkaurelius.titan.graphdb.database.EdgeSerializer.readPropertyValue(Ed
geSerializer.java:206) ~[stormjar.jar:na]
at 
com.thinkaurelius.titan.graphdb.database.EdgeSerializer.readPropertyValue(Ed
geSerializer.java:201) ~[stormjar.jar:na]
at 
com.thinkaurelius.titan.graphdb.database.EdgeSerializer.parseRelation(EdgeSe
rializer.java:134) ~[stormjar.jar:na]
at 
com.thinkaurelius.titan.graphdb.database.EdgeSerializer.readRelation(EdgeSer
ializer.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(Rel
ationConstructor.java:46) ~[stormjar.jar:na]
at 
com.thinkaurelius.titan.graphdb.transaction.RelationConstructor$1$1.next(Rel
ationConstructor.java:34) ~[stormjar.jar:na]
at 
com.thinkaurelius.titan.graphdb.types.vertices.TitanSchemaVertex.getDefiniti
on(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.ja
va:148) ~[stormjar.jar:na]
at 
com.thinkaurelius.titan.graphdb.query.graph.GraphCentricQueryBuilder.constru
ctQuery(GraphCentricQueryBuilder.java:208) ~[stormjar.jar:na]
at 
com.thinkaurelius.titan.graphdb.query.graph.GraphCentricQueryBuilder.vertice
s(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(GraphSearchMetri
csBolt.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(executo
r.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