py2neo icon indicating copy to clipboard operation
py2neo copied to clipboard

ServiceUnavailable: Cannot connect to any known routers after some hours - while connecting to AuraDB

Open ashwathan opened this issue 2 years ago • 3 comments

Hi Everyone, I have created a flask application which connects to Neo4j AuraDB Free graph database instance. I have a global Graph instance which connects my neo4j db. I have the below configuration in my code.

Graph("neo4j+ssc://3951eb3f.databases.neo4j.io:7687",
                        auth=('neo4j', <password>),
                        name='neo4j', secure=True, routing=True) 

I'm using python 3.7.8 and py2neo 2021.2.3.

It works fine for 8 hours or so. After that I start to see an error message py2neo.errors.ServiceUnavailable: Cannot connect to any known routers. If I restart my flask server it starts working fine. I really need help in fixing this issue. Here is the error stack:

  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\py2neo\database.py", line 518, in query
    result = self.auto(readonly=True).run(cypher, parameters)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\py2neo\database.py", line 991, in run
    readonly=self.readonly)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\py2neo\client\__init__.py", line 1338, in auto_run
    cx = self._acquire(graph_name)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\py2neo\client\__init__.py", line 1111, in _acquire
    return self._acquire_rw(graph_name)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\py2neo\client\__init__.py", line 1203, in _acquire_rw
    ro_profiles, rw_profiles = self._get_profiles(graph_name, readonly=False)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\py2neo\client\__init__.py", line 1016, in _get_profiles
    self.refresh_routing_table(graph_name)
  File "C:\Users\USER\AppData\Local\Programs\Python\Python37\lib\site-packages\py2neo\client\__init__.py", line 1064, in refresh_routing_table
    raise ServiceUnavailable("Cannot connect to any known routers")
py2neo.errors.ServiceUnavailable: Cannot connect to any known routers

ashwathan avatar Sep 19 '22 10:09 ashwathan

hey @ashwathan did you manage to resolve the above problem? If so, can you share the solution? I am also seeing this issue whilst running py2neo

richylyq avatar Nov 28 '22 06:11 richylyq

Same issue here. Anyone got any resolution?

ggeorg02 avatar Dec 04 '22 01:12 ggeorg02

@richylyq @ggeorg02 I could not get it working with py2neo. But I did not face this problem using neo4j driver. https://neo4j.com/docs/python-manual/current/

ashwathan avatar Dec 17 '22 13:12 ashwathan