OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.
The following null pointer exception is thrown. Attached a sample program to re-produce the issue. OrientDB version 2.0.2. This Exception happens only when CONFLICT STRATEGY is set to auto merge.
com.orientechnologies.orient.core.exception.OStorageException: Error during transaction commit.
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commit(OAbstractPaginatedStorage.java:931)
at com.orientechnologies.orient.core.tx.OTransactionOptimistic.doCommit(OTransactionOptimistic.java:483)
at com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:147)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2373)
at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2343)
at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.commit(ONetworkProtocolBinary.java:1087)
at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:389)
at com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:216)
at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:65)
Caused by: java.lang.NullPointerException
at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag.add(OSBTreeRidBag.java:618)
at com.orientechnologies.orient.core.db.record.ridbag.ORidBag.add(ORidBag.java:134)
at com.orientechnologies.orient.core.db.record.ridbag.ORidBag.add(ORidBag.java:80)
at com.orientechnologies.common.collection.OMultiValue.add(OMultiValue.java:400)
at com.orientechnologies.orient.core.record.impl.ODocument.merge(ODocument.java:1222)
at com.orientechnologies.orient.core.record.impl.ODocument.merge(ODocument.java:1183)
at com.orientechnologies.orient.core.conflict.OAutoMergeRecordConflictStrategy.onUpdate(OAutoMergeRecordConflictStrategy.java:43)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.checkAndIncrementVersion(OAbstractPaginatedStorage.java:2020)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doUpdateRecord(OAbstractPaginatedStorage.java:1651)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commitEntry(OAbstractPaginatedStorage.java:2105)
at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commit(OAbstractPaginatedStorage.java:913)
... 8 more
The following null pointer exception is thrown. Attached a sample program to re-produce the issue. OrientDB version 2.0.2. This Exception happens only when CONFLICT STRATEGY is set to auto merge.
com.orientechnologies.orient.core.exception.OStorageException: Error during transaction commit. at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commit(OAbstractPaginatedStorage.java:931) at com.orientechnologies.orient.core.tx.OTransactionOptimistic.doCommit(OTransactionOptimistic.java:483) at com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:147) at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2373) at com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2343) at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.commit(ONetworkProtocolBinary.java:1087) at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:389) at com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:216) at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:65) Caused by: java.lang.NullPointerException at com.orientechnologies.orient.core.db.record.ridbag.sbtree.OSBTreeRidBag.add(OSBTreeRidBag.java:618) at com.orientechnologies.orient.core.db.record.ridbag.ORidBag.add(ORidBag.java:134) at com.orientechnologies.orient.core.db.record.ridbag.ORidBag.add(ORidBag.java:80) at com.orientechnologies.common.collection.OMultiValue.add(OMultiValue.java:400) at com.orientechnologies.orient.core.record.impl.ODocument.merge(ODocument.java:1222) at com.orientechnologies.orient.core.record.impl.ODocument.merge(ODocument.java:1183) at com.orientechnologies.orient.core.conflict.OAutoMergeRecordConflictStrategy.onUpdate(OAutoMergeRecordConflictStrategy.java:43) at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.checkAndIncrementVersion(OAbstractPaginatedStorage.java:2020) at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.doUpdateRecord(OAbstractPaginatedStorage.java:1651) at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commitEntry(OAbstractPaginatedStorage.java:2105) at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commit(OAbstractPaginatedStorage.java:913) ... 8 more