I found that the restarted node is not able to persist any items of the 
class in question any more after it came up again. Now I always get 

2014-12-03 14:01:01,340 | ERROR | ool-14-thread-21 | PinImporter           
           | 196 - com.brodos.pinvault-orientdb - 1.1.0.SNAPSHOT | Error 
storing pin.
com.orientechnologies.orient.core.exception.OStorageException: Error on 
create record in cluster: 15
        at 
com.orientechnologies.orient.client.remote.OStorageRemote.handleException(OStorageRemote.java:1462)[212:com.orientechnologies.orientdb-client:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.client.remote.OStorageRemote.createRecord(OStorageRemote.java:393)[212:com.orientechnologies.orientdb-client:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.client.remote.OStorageRemoteThread.createRecord(OStorageRemoteThread.java:241)[212:com.orientechnologies.orientdb-client:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.executeSaveRecord(ODatabaseDocumentTx.java:1637)[213:com.orientechnologies.orientdb-core:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.core.tx.OTransactionNoTx.saveRecord(OTransactionNoTx.java:93)[213:com.orientechnologies.orientdb-core:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2176)[213:com.orientechnologies.orientdb-core:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx.save(ODatabaseDocumentTx.java:2084)[213:com.orientechnologies.orientdb-core:2.0.0.SNAPSHOT]
        at 
com.brodos.pinvault.persistence.orient.PinvaultRepositoryImpl.save(PinvaultRepositoryImpl.java:145)[196:com.brodos.pinvault-orientdb:1.1.0.SNAPSHOT]
        at 
com.brodos.pinimport.business.manager.control.PinvaultImporter$PinImportJob.run(PinvaultImporter.java:91)[196:com.brodos.pinvault-orientdb:1.1.0.SNAPSHOT]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[:1.7.0_55]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[:1.7.0_55]
        at java.lang.Thread.run(Thread.java:745)[:1.7.0_55]
Caused by: java.lang.RuntimeException: 
com.orientechnologies.orient.core.exception.OStorageException: Cannot route 
CREATE_RECORD operation for #15:-1 to the distributed node
        at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:404)[214:com.orientechnologies.orientdb-enterprise:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:279)[214:com.orientechnologies.orientdb-enterprise:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.beginResponse(OChannelBinaryAsynchClient.java:171)[214:com.orientechnologies.orientdb-enterprise:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.client.remote.OStorageRemote.beginResponse(OStorageRemote.java:1800)[212:com.orientechnologies.orientdb-client:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.client.remote.OStorageRemote.createRecord(OStorageRemote.java:336)[212:com.orientechnologies.orientdb-client:2.0.0.SNAPSHOT]
        ... 10 more
Caused by: com.orientechnologies.orient.core.exception.OStorageException: 
Cannot route CREATE_RECORD operation for #15:-1 to the distributed node
        at sun.reflect.GeneratedConstructorAccessor68.newInstance(Unknown 
Source)[:1.7.0_55]
        at 
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[:1.7.0_55]
        at 
java.lang.reflect.Constructor.newInstance(Constructor.java:526)[:1.7.0_55]
        at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.createException(OChannelBinaryAsynchClient.java:145)[214:com.orientechnologies.orientdb-enterprise:2.0.0.SNAPSHOT]
        at 
com.orientechnologies.orient.enterprise.channel.binary.OChannelBinaryAsynchClient.handleStatus(OChannelBinaryAsynchClient.java:400)[214:com.orientechnologies.orientdb-enterprise:2.0.0.SNAPSHOT]
        ... 14 more
Caused by: com.orientechnologies.orient.core.exception.OStorageException: 
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.enterprise.channel.binary.OChannelBinaryAsynchClient.createException(OChannelBinaryAsynchClient.java:138)[214:com.orientechnologies.orientdb-enterprise:2.0.0.SNAPSHOT]
        ... 15 more

on that node...

Regards, Alexander.

Am Mittwoch, 3. Dezember 2014 13:37:27 UTC+1 schrieb Alexander Sahler:
>
> 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