Hi Luca,

We are thinking of creating a very sample that reproduces the exception. We 
are lacking time at the moment, but maybe in the weeks to come.

Cheers,

On Tuesday, March 8, 2016 at 9:54:18 PM UTC+1, l.garulli wrote:
>
> Hi Matthieu,
>
> You shouldn't have such exception if you have just one thread with no 
> concurrency, so there should be something in your code. Could you remove 
> the sensitive data, namely name and value of fields, and post here the 
> piece of code that gets this exception?
>
> Best Regards,
>
> Luca Garulli
> Founder & CEO
> OrientDB <http://orientdb.com/>
>
>
> On 8 March 2016 at 18:23, matthieu marseille <[email protected] 
> <javascript:>> wrote:
>
>> 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] <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