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.