Heroku PR App can't connect to GrapheneDB

150 views Asked by At

I just created a new PR App in Heroku with the GrapheneDB add on.

I'm seeing the following in my logs:

2018-05-18T20:11:52.702973+00:00 app[web.1]: neo4j.exceptions.ProtocolError: Connection to ('ip', 24786) closed without handshake response
2018-05-18T20:11:52.704465+00:00 app[web.1]: 2018-05-18 20:11:52,704 INFO     ~~ [CONNECT] ('ip', 24786)
2018-05-18T20:11:52.705999+00:00 app[web.1]: 2018-05-18 20:11:52,705 INFO     C: [HANDSHAKE] 0x6060B017 [1, 0, 0, 0]
2018-05-18T20:11:52.707922+00:00 app[web.1]: 2018-05-18 20:11:52,707 ERROR    S: [CLOSE]
2018-05-18T20:11:52.710745+00:00 app[web.1]: 2018-05-18 20:11:52,708 ERROR    Connection to ('ip', 24786) closed without handshake response

So far I have:

  • Connected to the browser
  • nslookup from the console shows the same ip as the logs (I can't ping from the heroku instance)
  • Rotated database credentials from the GrapheneDB dashboard
  • Removed the add on and re-added it

Am I missing something?

Env:

  • Python 3.6.5
  • neo4j-driver 1.5.3

Driver Python Code:

from django.conf import settings
from django.utils.functional import SimpleLazyObject

from neo4j.v1 import GraphDatabase, basic_auth, TRUST_ON_FIRST_USE


def get_driver():
    return GraphDatabase.driver(
        settings.NEO4J_BOLT_URL,
        auth=basic_auth(settings.NEO4J_USERNAME, settings.NEO4J_PASSWORD),
        encrypted=False,
        trust=TRUST_ON_FIRST_USE,
    )


driver = SimpleLazyObject(get_driver)
1

There are 1 answers

0
Chad On BEST ANSWER

Just to follow up. It turns out that TRUST_ON_FIRST_USE does not work with GrapheneDB. TRUST_ON_FIRST_USE is also now deprecated.

Removing it allowed the connection to Neo4j work.