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