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.

Reply via email to