Hi Colin,

Thank you for chiming in. I changed the default configuration json file to 
use executionMode = "asynchronous" and magically all my problems went away. 
Here is what my default configuration json file looks like now and I 
deleted the distributed-config.json file from the database folder before 
restarting the db servers:

{
    "autoDeploy": true,
    "hotAlignment": false,
    "executionMode": "asynchronous",
    "resyncEvery": 15,
    "readQuorum": 1,
    "writeQuorum": 2,
    "failureAvailableNodesLessQuorum": false,
    "readYourWrites": true,
    "clusters": {
        "internal": {
        },
        "index": {
        },
        "*": {
            "servers" : [ "<NEW_NODE>" ]
        }
    }
}

At this point, OrientDB is performing like a champ. For the project I am 
working on, we are writing just over 1GB of data an hour without any 
problems. :-)

Amir.

On Thursday, April 30, 2015 at 9:22:32 AM UTC-5, Colin wrote:
>
> Hi Amir,
>
> Could you show us the distributed-config.json file from your database 
> folder?
>
> Thanks!
>
> -Colin
>
> On Wednesday, April 29, 2015 at 7:42:55 PM UTC-5, Amir Khawaja wrote:
>>
>> Is there a best practice around configuration for a cluster of two nodes? 
>> Should it be three nodes minimum? The cluster nodes are all in the same 
>> Azure region with latency of < 0.2ms on average. This occurred four times 
>> today already. Here is my default-distributed-db-config.json file:
>>
>> {
>>     "autoDeploy": true,
>>     "hotAlignment": false,
>>     "executionMode": "synchronous",
>>     "resyncEvery": 15,
>>     "readQuorum": 1,
>>     "writeQuorum": 2,
>>     "failureAvailableNodesLessQuorum": false,
>>     "readYourWrites": true,
>>     "clusters": {
>>         "internal": {
>>         },
>>         "index": {
>>         },
>>         "*": {
>>             "servers" : [ "<NEW_NODE>" ]
>>         }
>>     }
>> }
>>
>> Any assistance is appreciated. Thank you.
>>
>> Amir.
>>
>>
>> On Wednesday, April 29, 2015 at 8:36:30 AM UTC-5, Amir Khawaja wrote:
>>>
>>> Hi Everyone,
>>>
>>> I have a 2-node cluster running OrientDB 2.0.8 Community Edition. The 
>>> following error appeared in the log early this morning and the database 
>>> stopped responding to requests. Any thoughts? Is this a bug?
>>>
>>> 2015-04-29 12:24:20:606 WARNING [orientdb01] detected 1 node(s) in 
>>> timeout or in conflict and quorum (2) has not been reached, rolling back 
>>> changes for request (id=860294 from=orientdb01 task=tx userName=) 
>>> [ODistributedResponseManager]
>>> 2015-04-29 12:24:20:606 WARNING [orientdb01] Quorum 2 not reached for 
>>> request (id=860294 from=orientdb01 task=tx userName=). Timeout=8ms Servers 
>>> in timeout/conflict are:
>>>  - orientdb02: [#36:95960 v.5090]
>>> Received: {orientdb01=[#36:95980 v.4302], orientdb02=[#36:95960 v.5090]} 
>>> [ODistributedResponseManager]
>>> 2015-04-29 12:24:20:606 WARNING [orientdb01] sending undo message for 
>>> request (id=860294 from=orientdb01 task=tx userName=) to server orientdb01 
>>> [ODistributedResponseManager]
>>> 2015-04-29 12:24:20:610 WARNING [orientdb01] sending undo message for 
>>> request (id=860294 from=orientdb01 task=tx userName=) to server orientdb02 
>>> [ODistributedResponseManager]Sent run-time exception to the client /
>>> 10.0.0.17:35030: 
>>> com.orientechnologies.orient.server.distributed.ODistributedException: 
>>> Error on executing distributed request (id=860294 from=orientdb01 task=tx 
>>> userName=) against database 'vis.[visitor]' to nodes [orientdb01, 
>>> orientdb02]
>>> com.orientechnologies.orient.server.distributed.ODistributedException: 
>>> Error on executing distributed request (id=860294 from=orientdb01 task=tx 
>>> userName=) against database 'vis.[visitor]' to nodes [orientdb01, 
>>> orientdb02]
>>>         at 
>>> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send2Nodes(OHazelcastDistributedDatabase.java:194)
>>>         at 
>>> com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.sendRequest(OHazelcastPlugin.java:365)
>>>         at 
>>> com.orientechnologies.orient.server.distributed.ODistributedStorage.commit(ODistributedStorage.java:902)
>>>         at 
>>> com.orientechnologies.orient.core.tx.OTransactionOptimistic.doCommit(OTransactionOptimistic.java:483)
>>>         at 
>>> com.orientechnologies.orient.core.tx.OTransactionOptimistic.commit(OTransactionOptimistic.java:147)
>>>         at 
>>> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2406)
>>>         at 
>>> com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.commit(ODatabaseDocumentTx.java:2376)
>>>         at 
>>> com.orientechnologies.orient.core.command.script.OCommandExecutorScript.executeSQLScript(OCommandExecutorScript.java:245)
>>>         at 
>>> com.orientechnologies.orient.core.command.script.OCommandExecutorScript.executeSQL(OCommandExecutorScript.java:146)
>>>         at 
>>> com.orientechnologies.orient.core.command.script.OCommandExecutorScript.executeInContext(OCommandExecutorScript.java:91)
>>>         at 
>>> com.orientechnologies.orient.core.command.script.OCommandExecutorScript.execute(OCommandExecutorScript.java:81)
>>>         at 
>>> com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:1189)
>>>         at 
>>> com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:1178)
>>>         at 
>>> com.orientechnologies.orient.server.distributed.ODistributedStorage.command(ODistributedStorage.java:248)
>>>         at 
>>> com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:63)
>>>         at 
>>> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1173)
>>>         at 
>>> com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:380)
>>>         at 
>>> com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:217)
>>>         at 
>>> com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:69)
>>> Caused by: 
>>> com.orientechnologies.orient.server.distributed.ODistributedException: 
>>> Quorum 2 not reached for request (id=860294 from=orientdb01 task=tx 
>>> userName=). Timeout=8ms Servers in timeout/conflict are:
>>>  - orientdb02: [#36:95960 v.5090]
>>> Received: {orientdb01=[#36:95980 v.4302], orientdb02=[#36:95960 v.5090]}
>>>         at 
>>> com.orientechnologies.orient.server.distributed.ODistributedResponseManager.manageConflicts(ODistributedResponseManager.java:576)
>>>         at 
>>> com.orientechnologies.orient.server.distributed.ODistributedResponseManager.getFinalResponse(ODistributedResponseManager.java:340)
>>>         at 
>>> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.waitForResponse(OHazelcastDistributedDatabase.java:364)
>>>         at 
>>> com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send2Nodes(OHazelcastDistributedDatabase.java:191)
>>>         ... 18 more
>>>
>>>
>>> Amir.
>>>
>>

-- 

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