Hi Hung,

Unfortunately I cannot share the code due to project security reasons.

To be more precise, we have a single thread with a *single* connection. 
After further investigations, we are in a part of the code where we have 
the following situation :

1. A -> B (read : vertex A is linked to B with an edge)
2. A&C -> B (now A and C are linked to B with one edge each)
3. update of B : this is where the exception is thrown.

Is it clearer ?

On Tuesday, March 8, 2016 at 5:02:45 PM UTC+1, Hung Tran wrote:
>
> Hi matthieu, 
>
> What Michela said is exactly right. You will need to find it out, it is 
> not too hard to figure it out. From Studio, you could make a query to check 
> version of that row, your row version in your code should be smaller than 
> the row current version in your database at commit time, that's a reason 
> why you got this exception.
>
> With a single thread client, you may have two instances of the same row 
> loaded by different connections in your context, and one of your logic is 
> trying to persist the one with older version.
>
> Could you upload a sample code to duplicate the error here?
>
> My Best,
> Hung Tran
>
> On Tuesday, March 8, 2016 at 6:47:48 PM UTC+7, matthieu marseille wrote:
>>
>> Hi all,
>>
>> You'll find attached to this post the full stack trace that we obtain 
>> while we are updating a Vertex in client/server mode, from a 
>> single-threaded client and no concurrent use of the DB (v2.1.10). DB engine 
>> transactions are turned on.
>>
>> Here is just the final exception trace that we got :
>>
>> Caused by: 
>> com.orientechnologies.orient.core.exception.OConcurrentModificationException:
>>  
>> Cannot UPDATE the record #20:0 because the version is not the latest. 
>> Probably you are updating an old record or it has been modified by another 
>> user (db=v12 your=v10)
>>     at 
>> com.orientechnologies.orient.core.conflict.OVersionRecordConflictStrategy.checkVersions(OVersionRecordConflictStrategy.java:55)
>>     at 
>> com.orientechnologies.orient.core.conflict.OVersionRecordConflictStrategy.onUpdate(OVersionRecordConflictStrategy.java:42)
>>     at 
>> com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.checkAndIncrementVersion(OAbstractPaginatedStorage.java:2394)
>>     ...
>>
>> On our side, we guess that it might be a "reload" problem in the client 
>> cache. However, we expected not to have such an exception in our very 
>> simple use case.
>>
>>

-- 

--- 
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