Hello everyone.

I'm evaluating orientdb 2.0-SNAPSHOT (20141202.120339-430) and experienced 
a problem when working in a distributed environment:
I've got three servers running orientdb which are sharing one cluster of a 
certain class.

While doing an insert of 100.000 records I killed the first server (the 
one, the pool factory was configured with). All async db threads then throw 
an error causing the current insert operation to fail! After that the 
failover connection to the other server members took place and the inserts 
worked fine again.

Now, after bringing the killed server up again I'm experiencing errors, 
causing ALL of the subsequent transactions to fail:

Exception is: 
Sent run-time exception to the client /172.17.4.149:56076: 
com.orientechnologies.orient.core.exception.OStorageException: Cannot route 
CREATE_RECORD operation for #15:-1 to the distributed node
com.orientechnologies.orient.core.exception.OStorageException: Cannot route 
CREATE_RECORD operation for #15:-1 to the distributed node
        at 
com.orientechnologies.orient.server.distributed.ODistributedStorage.handleDistributedException(ODistributedStorage.java:1169)
        at 
com.orientechnologies.orient.server.distributed.ODistributedStorage.createRecord(ODistributedStorage.java:470)
        at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeSaveRecord(ODatabaseDocumentTx.java:1637)
        at 
com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:93)
        at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2176)
        at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2021)
        at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:123)
        at 
com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.createRecord(OBinaryNetworkProtocolAbstract.java:333)
        at 
com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.createRecord(ONetworkProtocolBinary.java:1295)
        at 
com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:303)
        at 
com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:201)
        at 
com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:65)
Caused by: 
com.orientechnologies.orient.server.distributed.ODistributedException: 
Error on inserting into cluster 'pin' where local node 'orientdb-p1' is not 
the master of it, but it's 'orientdb-p2'
        at 
com.orientechnologies.orient.server.distributed.ODistributedStorage.createRecord(ODistributedStorage.java:423)
        ... 10 more


Questions:
1. Shouldn't the driver transparently failover to other nodes in the 
cluster and retry the transaction when a node fails?
2. I think, bringing up the failed node again should not lead to errors and 
subsequent transactions to fail

Regards, Alexander

-- 

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