Orient 2.0.13 - ClassNotFoundException during deserialization

32 views
Skip to first unread message

mo...@teridion.com

unread,
Jul 28, 2015, 5:58:25 PM7/28/15
to orient-...@googlegroups.com
Hi,

Our application is written in scala (2.10.5 with sbt 0.13.5) against orientdb 1.7.10  without problems -  we are using tinkerpop blueprints.
After upgrading to orientdb 2.0.13 (clean database), we experience exceptions when trying to insert new records to  the database (where some of the properties are not primitives)

The exceptions are thrown during deserialization with ClassNotFoundException for classes that exist in the classpath and worked  perfectly with orientdb 1.7.x

Looking in Google suggested that there might be class loading issues,  where the class loader of the orient libraries is different than the one of other libraries.

I saw in the source code that the serialization / deserialization part was rewritten  -  which might explain the difference.
Any ideas  how to  solve this issue?

Here is the stacktrace:

com.orientechnologies.orient.enterprise.channel.binary.OResponseProcessingException: Exception during response processing.
at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.throwSerializedException(OChannelBinaryAsynchClient.java:441) ~[orientdb-enterprise-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:396) ~[orientdb-enterprise-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:282) ~[orientdb-enterprise-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:171) ~[orientdb-enterprise-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:2093) ~[orientdb-client-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.client.remote.OStorageRemote.commit(OStorageRemote.java:1335) ~[orientdb-client-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.client.remote.OStorageRemoteThread.commit(OStorageRemoteThread.java:458) ~[orientdb-client-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.core.tx.OTransactionOptimistic.doCommit(OTransactionOptimistic.java:583) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:148) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2549) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2518) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.tinkerpop.blueprints.impls.orient.OrientTransactionalGraph.commit(OrientTransactionalGraph.java:161) ~[orientdb-graphdb-2.1-rc5.jar:2.1-rc5]
at com.mycompany.storage.GraphStorageManagerClass.endTransaction(GraphStorageManager.scala:498) ~[classes/:na]
at com.mycompany.storage.GraphStorageManager$$anonfun$12$$anonfun$apply$1.apply$mcVI$sp(GraphStorageManager.scala:431) ~[classes/:na]
at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:141) ~[scala-library-2.10.5.jar:na]
at com.mycompany.storage.GraphStorageManager$$anonfun$12.apply(GraphStorageManager.scala:428) ~[classes/:na]
at scala.util.Try$.apply(Try.scala:161) ~[scala-library-2.10.5.jar:na]
at com.mycompany.storage.GraphStorageManager$class.updateGraph(GraphStorageManager.scala:424) ~[classes/:na]
at com.mycompany.storage.GraphStorageManagerClass.updateGraph(GraphStorageManager.scala:458) ~[classes/:na]
at com.mycompany.storage.GraphStorageManager$$anonfun$receive$1.applyOrElse(GraphStorageManager.scala:201) ~[classes/:na]
at akka.actor.ActorCell.receiveMessage(ActorCell.scala:498) ~[akka-actor_2.10-2.2.1.jar:2.2.1]
at akka.actor.ActorCell.invoke(ActorCell.scala:456) ~[akka-actor_2.10-2.2.1.jar:2.2.1]
at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237) ~[akka-actor_2.10-2.2.1.jar:2.2.1]
at akka.dispatch.Mailbox.run(Mailbox.scala:219) ~[akka-actor_2.10-2.2.1.jar:2.2.1]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) ~[na:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) ~[na:1.7.0_71]
at java.lang.Thread.run(Thread.java:745) ~[na:1.7.0_71]
Caused by: java.lang.RuntimeException: com.orientechnologies.orient.core.exception.ODatabaseException: Error on deserialization of Serializable
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readSingleValue(ORecordSerializerBinaryV0.java:391) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.deserialize(ORecordSerializerBinaryV0.java:197) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinary.fromStream(ORecordSerializerBinary.java:74) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.core.record.impl.ODocument.deserializeFields(ODocument.java:1776) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.server.tx.OTransactionOptimisticProxy.unmarshallRecord(OTransactionOptimisticProxy.java:271) ~[orientdb-server-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.server.tx.OTransactionOptimisticProxy.begin(OTransactionOptimisticProxy.java:156) ~[orientdb-server-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.begin(ODatabaseDocumentTx.java:1536) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.commit(ONetworkProtocolBinary.java:1089) ~[orientdb-server-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:394) ~[orientdb-server-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:217) ~[orientdb-server-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:69) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
Caused by: com.orientechnologies.orient.core.exception.ODatabaseException: Error on deserialization of Serializable
at com.orientechnologies.orient.core.serialization.serializer.record.binary.OSerializableWrapper.fromStream(OSerializableWrapper.java:47) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
at com.orientechnologies.orient.core.serialization.serializer.record.binary.ORecordSerializerBinaryV0.readSingleValue(ORecordSerializerBinaryV0.java:385) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
... 10 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.joda.time.DateTime
at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.7.0_71]
at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.7.0_71]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.7.0_71]
at java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.7.0_71]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.7.0_71]
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[na:1.7.0_71]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.7.0_71]
at java.lang.Class.forName0(Native Method) ~[na:1.7.0_71]
at java.lang.Class.forName(Unknown Source) ~[na:1.7.0_71]
at java.io.ObjectInputStream.resolveClass(Unknown Source) ~[na:1.7.0_71]
at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source) ~[na:1.7.0_71]
at java.io.ObjectInputStream.readClassDesc(Unknown Source) ~[na:1.7.0_71]
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) ~[na:1.7.0_71]
at java.io.ObjectInputStream.readObject0(Unknown Source) ~[na:1.7.0_71]
at java.io.ObjectInputStream.readObject(Unknown Source) ~[na:1.7.0_71]
at com.orientechnologies.orient.core.serialization.serializer.record.binary.OSerializableWrapper.fromStream(OSerializableWrapper.java:44) ~[orientdb-core-2.1-rc5.jar:2.1-rc5]
... 11 common frames omitted

Thanks,
Moti.
Reply all
Reply to author
Forward
0 new messages