I'm using py2neo 2.x on Neo4j 3.0.3. Sometimes creating index from Python 
script fails. If I run the same Python line manually from Python 3 IDLE, it 
almost always succeeds. Any idea? Is this the correct way to create index?

My Python 3 code has these two lines:

    if 'addr' not in graph.schema.get_indexes('host'):
        graph.cypher.execute("CREATE INDEX ON :host(addr)")

and I got these error messages:
   graph.cypher.execute("CREATE INDEX ON :host(addr)")
  File 
"/usr/local/python/lib/python3.4/site-packages/py2neo/cypher/core.py", line 
136, in execute
    results = tx.commit()
  File 
"/usr/local/python/lib/python3.4/site-packages/py2neo/cypher/core.py", line 
333, in commit
    return self.post(self.__commit or self.__begin_commit)
  File 
"/usr/local/python/lib/python3.4/site-packages/py2neo/cypher/core.py", line 
288, in post
    raise self.error_class.hydrate(error)
py2neo.cypher.error.transaction.DeadlockDetected: LockClient[29] can't wait 
on resource RWLock[SCHEMA(0), hash=1676963340] since => LockClient[29] 
<-[:HELD_BY]- RWLock[SCHEMA(0), hash=1676963340] <-[:WAITING_FOR]- 
LockClient[30] <-[:HELD_BY]- RWLock[SCHEMA(0), hash=1676963340]

Thanks,
Ray

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" 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