Yanxin
unread,Jun 17, 2012, 3:02:00 AM6/17/12Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Sign in to report message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to orient-...@googlegroups.com
Hello,
I have a program to insert record into OrientDB, which use timestamp as input parameters.
Originallly when I run the program, it will stops in the middle and report "com.orientechnologies.orient.core.exception.OConcurrentModificationException" error.
I google it and find the solution, which disable level1 cache and mvcc. This solve my problem.
For example,
java -Dcache.level1.enabled=false -Ddb.mvcc=false UpdateGraph 2012-06-01 2012-0614
I have run it for a week without the problem.
However, I have another question now. I need to run the program to update graph in different days at the same time so that I can speed up my progress, for example, I need to run
java -Dcache.level1.enabled=false -Ddb.mvcc=false UpdateGraph 2012-06-13 2012-0614
java -Dcache.level1.enabled=false -Ddb.mvcc=false UpdateGraph 2012-06-14 2012-0615
at the same time. The issue is when I start second process, the first one terminated with the same error as before "com.orientechnologies.orient.core.exception.OConcurrentModificationException".
Could anyone help me to solve the issue?
Thanks a lot.
Yanxin
Exception in thread "main" com.orientechnologies.orient.core.exception.OConcurrentModificationException: Cannot update record #14:69 in storage 'graph' because the version is not the latest. Probably you are updating an old record or it has been modified by another user (db=v81 your=v80)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.createException(OChannelBinary.java:411)
at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinary.handleStatus(OChannelBinary.java:364)
at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:145)
at com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynch.beginResponse(OChannelBinaryAsynch.java:60)
at com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1492)
at com.orientechnologies.orient.client.remote.OStorageRemote.updateRecord(OStorageRemote.java:445)
at com.orientechnologies.orient.client.remote.OStorageRemoteThread.updateRecord(OStorageRemoteThread.java:151)
at com.orientechnologies.orient.core.db.raw.ODatabaseRaw.save(ODatabaseRaw.java:243)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:662)
at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:72)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:221)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:214)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:35)
at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.linkToStream(ORecordSerializerCSVAbstract.java:739)
at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerCSVAbstract.fieldToStream(ORecordSerializerCSVAbstract.java:246)
at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerSchemaAware2CSV.toString(ORecordSerializerSchemaAware2CSV.java:242)
at com.orientechnologies.orient.core.serialization.serializer.record.string.ORecordSerializerStringAbstract.toStream(ORecordSerializerStringAbstract.java:80)
at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:118)
at com.orientechnologies.orient.core.record.ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.java:113)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordAbstract.executeSaveRecord(ODatabaseRecordAbstract.java:616)
at com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:72)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:221)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:214)
at com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.save(ODatabaseRecordTx.java:35)
at com.orientechnologies.orient.core.record.ORecordAbstract.save(ORecordAbstract.java:269)
at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1233)
at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:1222)
at com.orientechnologies.orient.core.record.impl.ODocument.save(ODocument.java:69)
at com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.saveAllNewEntries(OMVRBTreeRID.java:364)
at com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.commitChanges(OMVRBTreeRID.java:307)
at com.orientechnologies.orient.core.type.tree.OMVRBTreePersistent.put(OMVRBTreePersistent.java:474)
at com.orientechnologies.orient.core.type.tree.OMVRBTreeRIDSet.add(OMVRBTreeRIDSet.java:109)
at com.orientechnologies.orient.core.db.graph.OGraphDatabase.createEdge(OGraphDatabase.java:275)
at com.orientechnologies.orient.core.db.graph.OGraphDatabase.createEdge(OGraphDatabase.java:244)