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.

Reply via email to