Hi Daniel,
to avoid using OMVRBTreeRIDSet you should migrate the graph:

https://github.com/orientechnologies/orientdb/wiki/Upgrade#migrate-graph-to-ridbag

Lvc@


On 21 April 2014 19:58, Daniel Hanelt [STARGAST Systems GmbH] <
[email protected]> wrote:

>  Hey Luca,
>
>  thanks for your reply.
>
>  -We chose writeQuorum=1 because we wanted to have some sort of
> asynchronous replication. We just work with node01, node02 is just needed
> for handling the backup
>
>  - the db is plocal. Back in time it was created with local but then with
> EXPORT exported and imported in a newly created plocal database with 1.6
> (But we were wondering too regarding the logs with OMVRBTreeRIDSet)
>
>  thanks a million
> Daniek
>
> Am 20.04.2014 um 10:36 schrieb "Luca Garulli" <[email protected]>:
>
>   Hi guys,
> As Mateusz pointed the quorum settings should be to 2 and 
> failureAvailableNodesLessQuorum
> = true to maintain consistency. Then I suggest you to try 1.7-SNAPSHOT
> where we fixed a few issues against distributed configuration.
>
>  About your database is it a plocal? The fact your logs show OMVRBTreeRIDSet
> usage let me think this is an old database created with older version of
> OrientDB, maybe with local?
>
>  Lvc@
>
>
>
> On 17 April 2014 18:10, Andrey Lomakin <[email protected]> wrote:
>
>> Hi guys,
>> Could you create issue about it so we will not forget to look on it ?
>>
>>
>> On Thu, Apr 17, 2014 at 6:10 PM, Daniel Hanelt [STARGAST Systems GmbH] <
>> [email protected]> wrote:
>>
>>>  Hey,
>>>
>>>  we are using the 1.7 RC2 but we've had the same problems with 1.6
>>>
>>>  You are right with the numbers of nodes, three would make more sense.
>>> But I doubt that this would solve the problems we've experienced, the
>>> exceptions started right away and there was no network issue at that time.
>>>
>>>  Thanks
>>> Daniel
>>>
>>> Am 17.04.2014 um 03:34 schrieb "Mateusz Dymczyk" <[email protected]>:
>>>
>>>    Which version are you using? I remember similar exceptions before
>>> switching to 1.7, seems they had some bugs.
>>>
>>>  Also I don't know if Luca suggested exactly that setup but running
>>> such a DB with 2 nodes doesn't seem like a great idea - should you have a
>>> link (or well any sort of network error) between them or if one of them
>>> should go down for some time you will have inconsistent data (since both
>>> quorums are set to only 1). An odd number of servers with quorum (N/2)+1 is
>>> a better idea.
>>>
>>>  Mateusz
>>>
>>> On Wednesday, April 16, 2014 9:22:31 PM UTC+9, Daniel wrote:
>>>>
>>>>  Because we've had daily outages of 15 minutes due to the backup of the
>>>> DB, we follwed the advice of Luca to set up a distributed environment
>>>> with two nodes.
>>>>
>>>>  Here is the config:
>>>>
>>>>
>>>>  default-distributed-db-config.json
>>>>
>>>>  {
>>>>      "replication": true,
>>>>      "autoDeploy": true,
>>>>      "hotAlignment": true,
>>>>      "resyncEvery": 15,
>>>>      "clusters": {
>>>>          "internal": {
>>>>              "replication": false
>>>>          },
>>>>          "index": {
>>>>              "replication": false
>>>>          },
>>>>          "ODistributedConflict": {
>>>>              "replication": false
>>>>          },
>>>>          "*": {
>>>>              "replication": true,
>>>>              "readQuorum": 1,
>>>>              "writeQuorum": 1,
>>>>              "failureAvailableNodesLessQuorum": false,
>>>>              "readYourWrites": true,
>>>>              "partitioning": {
>>>>                  "strategy": "round-robin",
>>>>                  "default": 0,
>>>>                  "partitions": [
>>>>                      [ "<NEW_NODE>" ]
>>>>                  ]
>>>>              }
>>>>          }
>>>>      }
>>>> }
>>>>
>>>>
>>>>  So now here is what happended and finally led to a corrupted DB:
>>>>
>>>>
>>>>  - Stopped the application server
>>>> - Setup and configured replication with the settings above
>>>> - Two nodes: node01 and node02
>>>> - node02 had no existing database, so node01 exported and zipped the db
>>>> and sent it to node02
>>>> - node02 extracted the db successfully, log message: INFO [node02]
>>>> installed database  [OHazelcastPlugin]
>>>> - We started the application server
>>>> - After some time the following exception (sometimes) appeares in the
>>>> orient-server.log:
>>>>
>>>>  Cannot route TX operation against distributed node
>>>> Error on committing distributed transaction
>>>> -> com.orientechnologies.orient.server.distributed.
>>>> ODistributedStorage.commit(ODistributedStorage.java:502)
>>>> -> com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(
>>>> OTransactionOptimistic.java:109)
>>>> -> com.orientechnologies.orient.core.db.record.
>>>> ODatabaseRecordTx.commit(ODatabaseRecordTx.java:146)
>>>> -> com.orientechnologies.orient.core.db.document.
>>>> ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:440)
>>>> -> com.orientechnologies.orient.core.db.document.
>>>> ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:435)
>>>> -> com.orientechnologies.orient.server.network.protocol.
>>>> binary.ONetworkProtocolBinary.commit(ONetworkProtocolBinary.java:1253)
>>>> -> com.orientechnologies.orient.server.network.protocol.
>>>> binary.ONetworkProtocolBinary.executeRequest(
>>>> ONetworkProtocolBinary.java:325)
>>>> -> com.orientechnologies.orient.server.network.protocol.binary.
>>>> OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract
>>>> .java:126)
>>>> -> com.orientechnologies.common.thread.OSoftThread.run(
>>>> OSoftThread.java:45)
>>>>
>>>>
>>>>  - After a while the following exception appeared in our application
>>>> with increased frequency:
>>>>
>>>>  Caused by:
>>>> com.orientechnologies.orient.core.exception.OTransactionException:
>>>> Cannot insert item in mvrb-tree because the transactional item was not
>>>> found.
>>>>      at com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.
>>>> internalPut(OMVRBTreeRID.java:156)
>>>>      at com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.
>>>> internalPut(OMVRBTreeRID.java:57)
>>>>      at com.orientechnologies.orient.core.type.tree.
>>>> OMVRBTreePersistent.put(OMVRBTreePersistent.java:468)
>>>>      at com.orientechnologies.orient.core.type.tree.provider.
>>>> OMVRBTreeRIDProvider.lazyUnmarshall(OMVRBTreeRIDProvider.java:227)
>>>>      at com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.
>>>> getTreeSize(OMVRBTreeRID.java:332)
>>>>      at com.orientechnologies.orient.core.type.tree.OMVRBTreeRID.
>>>> size(OMVRBTreeRID.java:318)
>>>>      at com.orientechnologies.orient.core.type.tree.
>>>> OMVRBTreeRIDSet.size(OMVRBTreeRIDSet.java:91)
>>>>      at com.orientechnologies.common.collection.OMultiValue.
>>>> getSize(OMultiValue.java:82)
>>>>      at com.orientechnologies.orient.core.serialization.serializer.
>>>> record.string.ORecordSerializerSchemaAware2CSV.toString(
>>>> ORecordSerializerSchemaAware2CSV.java:165)
>>>>      at com.orientechnologies.orient.core.serialization.serializer.
>>>> record.string.ORecordSerializerStringAbstract.toStream(
>>>> ORecordSerializerStringAbstract.java:92)
>>>>      at com.orientechnologies.orient.core.serialization.serializer.
>>>> record.string.ORecordSerializerSchemaAware2CSV.toStream(
>>>> ORecordSerializerSchemaAware2CSV.java:518)
>>>>      at com.orientechnologies.orient.core.record.
>>>> ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.
>>>> java:127)
>>>>      at com.orientechnologies.orient.core.record.
>>>> ORecordSchemaAwareAbstract.toStream(ORecordSchemaAwareAbstract.
>>>> java:122)
>>>>      at com.orientechnologies.orient.core.record.impl.ODocument.
>>>> toStream(ODocument.java:391)
>>>>      at com.orientechnologies.orient.client.remote.OStorageRemote.
>>>> commitEntry(OStorageRemote.java:1919)
>>>>      ... 75 more
>>>>
>>>>
>>>>  - Then we took a look at the corresponding dataset to those exception
>>>> via the orientdb console, i.e.:
>>>>
>>>>  select from #12:155580
>>>>
>>>>  Error:
>>>> com.orientechnologies.orient.core.exception.OTransactionException:
>>>> Cannot insert item in mvrb-tree because the transactional item was not
>>>> found.
>>>>
>>>>
>>>>  - Simple properties could be selected without problems, i.e.:
>>>>
>>>>  select email from #12:155580
>>>> ----+-----+---------
>>>> #   |@RID |email
>>>> ----+-----+---------
>>>> 0   |#-2:1|<removed>
>>>> ----+-----+---------
>>>>
>>>>
>>>>  - Selections of linked Edges resulted sometimes in errors, i.e.:
>>>>
>>>>  select out_Friend from #12:155580
>>>> Error:
>>>> com.orientechnologies.orient.core.exception.OTransactionException:
>>>> Cannot insert item in mvrb-tree because the transactional item was not
>>>> found.
>>>>
>>>>
>>>>  - Whereas others worked
>>>>
>>>>  select in_Friend from #12:155580
>>>> ----+-----+---------
>>>> #   |@RID |in_Friend
>>>> ----+-----+---------
>>>> 0   |#-2:1|[63]
>>>> ----+-----+---------
>>>> 1 item(s) found. Query executed in 0.004 sec(s).
>>>>
>>>>
>>>>  Any idea or hint for us?
>>>>
>>>>  Thanks a million
>>>> Daniel
>>>>
>>>   --
>>>
>>> ---
>>> 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.
>>>
>>>    --
>>>
>>> ---
>>> 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.
>>>
>>
>>
>>
>>   --
>> Best regards,
>> Andrey Lomakin.
>>
>> Orient Technologies
>> the Company behind OrientDB
>>
>>    --
>>
>> ---
>> 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.
>>
>
>  --
>
> ---
> 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.
>
>  --
>
> ---
> 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.
>

-- 

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