Hi Lvc@ thanks for your reply :) basically, I have a record that needs to be updated multiple times per minute. I've tried testing all three conflict strategies while having between 10-40 concurrent users, but it really fails a lot (only 10% of writes succeeds and it throws an exception). Indeed auto-merge brings fewer conflicts. I guess I'll need to handle these exceptions accordingly on Java. my biggest concern is each write that fails brings the cpu for around 20 seconds to almost 200%
On Monday, October 20, 2014 1:52:47 PM UTC-5, Lvc@ wrote: > > Hi, > Have you tried the auto-merge strategy instead of content? Content check > if the content is the same in case versions are different. In your case, if > I've understood correctly, you need a merge. Correct? > > Lvc@ > > > On 20 October 2014 13:30, <[email protected] <javascript:>> wrote: > >> Hi, >> >> I have a Class that must be updated multiple times (possibly per second), >> I'm using 2.0 SNAPSHOT made from develop branch on Oct 20 2014. >> >> I've set on Studio, inside DB settings > Configuration conflictStrategy >> as "content", and on "Structure" on that class I've set it as "content" as >> well. >> >> I basically need the exception not to be thrown and keep the highest >> version, any thoughts on how I could achieve this? >> >> I'm doing 50 simultaneous clients calling randomly every 1-2 seconds. >> >> I've restarted the server, but the exception is still being thrown. >> this is the exception: >> >> Sent run-time exception to the client /10.133.255.233:39879: >> com.orientechnologies.orient.core.exception.OConcurrentModificationException: >> >> Cannot UPDATE the record #17:0 because the version is not the latest. >> Probably you are updating an old record or it has been modified by another >> user (db=v312 your=v311) >> com.orientechnologies.orient.core.exception.OConcurrentModificationException: >> >> Cannot UPDATE the record #17:0 because the version is not the latest. >> Probably you are updating an old record or it has been modified by another >> user (db=v312 your=v311) >> at >> com.orientechnologies.orient.core.conflict.OVersionRecordConflictStrategy.checkVersions(OVersionRecordConflictStrategy.java:54) >> at >> com.orientechnologies.orient.core.conflict.OContentRecordConflictStrategy.onUpdate(OContentRecordConflictStrategy.java:65) >> at >> com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.checkAndIncrementVersion(OAbstractPaginatedStorage.java:1788) >> at >> com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.updateRecord(OAbstractPaginatedStorage.java:789) >> at >> com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commitEntry(OAbstractPaginatedStorage.java:1862) >> at >> com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.commit(OAbstractPaginatedStorage.java:1099) >> at >> com.orientechnologies.orient.core.tx.OTransactionOptimistic.doCommit(OTransactionOptimistic.java:461) >> at >> com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:145) >> at >> com.orientechnologies.orient.core.db.record.ODatabaseRecordTx.commit(ODatabaseRecordTx.java:148) >> at >> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:531) >> at >> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:523) >> at >> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.commit(ONetworkProtocolBinary.java:1011) >> at >> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:347) >> at >> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:181) >> at >> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:65) >> Write failed: Connection reset by peer >> >> -- >> >> --- >> You received this message because you are subscribed to the Google Groups >> "OrientDB" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- --- You received this message because you are subscribed to the Google Groups "OrientDB" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
