Hello,

I'm trying to create a class in a distributed db, and i have the following 
exception :

Caused by: 
com.orientechnologies.orient.server.distributed.ODistributedException: 
Quorum 1 not reached for request=id=6 from=node1396598871178 
task=command_sql(create class N extends V cluster  13). Servers in 
timeout/conflict are: no server in conflict. Received: {node1396598
871178=waiting-for-response}
        at 
com.orientechnologies.orient.server.distributed.ODistributedResponseManager.manageConflicts(ODistributedResponseManager.java:297)
        at 
com.orientechnologies.orient.server.distributed.ODistributedResponseManager.getFinalResponse(ODistributedResponseManager.java:508)
        at 
com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.waitForResponse(OHazelcastDistributedDatabase.java:240)
        at 
com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send2Nodes(OHazelcastDistributedDatabase.java:161)
        at 
com.orientechnologies.orient.server.hazelcast.OHazelcastDistributedDatabase.send(OHazelcastDistributedDatabase.java:180)
        at 
com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.sendRequest(OHazelcastPlugin.java:360)
        at 
com.orientechnologies.orient.server.distributed.ODistributedStorage.sendRequest(ODistributedStorage.java:772)
        at 
com.orientechnologies.orient.server.distributed.ODistributedStorage.command(ODistributedStorage.java:176)
        at 
com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:59)
        at 
com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createClass(OSchemaShared.java:242)
        at 
com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createClass(OSchemaShared.java:153)
        at 
com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createClass(OSchemaShared.java:145)
        at 
com.orientechnologies.orient.core.metadata.schema.OSchemaShared.createClass(OSchemaShared.java:133)
        at 
com.orientechnologies.orient.core.metadata.schema.OSchemaShared.getOrCreateClass(OSchemaShared.java:174)
        at 
com.orientechnologies.orient.core.metadata.schema.OSchemaProxy.getOrCreateClass(OSchemaProxy.java:72)

I have only one node, with read and write quorum set to 1.
I am using OrientDB 1.7-RC2, embedded in my application. The database url 
used is "plocal:data/mydb".

After more investigation :

   1. OSchemaShared.createClass lock 'rwLock'
   2. OSchemaShared call 'execute', which is dispatched by hazelcast to the 
   same node in another thread
   3. OCommandExecutorSQLCreateClass try to find the superclass and call 
   existsClass in OSchemaProxy -> OSchemaShared wich try to acquire the 
   previous lock and wait
   4. The hazelcast message in [2] failed in timeout, and the propagation 
   of the exception release the lock
   5. The command is executed (but the client get the previous exception)

Is it a bug, or i am doing it wrong ?

Jérémie

-- 

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