graphaware / neo4j-framework

GraphAware Neo4j Framework
244 stars 68 forks source link

neo4j-framework runtime interference with neo4j-graphql #89

Closed btroop closed 6 years ago

btroop commented 6 years ago

I think I might have found an issue where the neo4j-framework in "GraphAware Runtime" mode interferes with the neo4j-graphql package; when running the neo4j-framework for supporting the UUID and timetree modules, the graphql endpoint from the neo4j-graphql package does not load the graphql schema, nor does it respond to queries or mutations. As soon as I turn off the neo4j-framework in the conf file, the graphql endpoint functions as expected.

Not sure where to raise the issue so I brought it here. Can provide more detailed information, but was wondering if there was any idea what the cause of the interference might be.

thanks!

bachmanm commented 6 years ago

Do you see any errors in the logs at startup?

ikwattro commented 6 years ago

Hi @btroop Can you please also provide your neo4j version, plugins versions and neo4j configuration. I did a quick test with Neo4j 3.4, GA framework, uuid and nlp, no issues :

screen shot 2018-06-19 at 10 38 29

Make sure to allow both plugins to register extension endpoints :

dbms.unmanaged_extension_classes=com.graphaware.server=/graphaware,org.neo4j.graphql=/graphql
btroop commented 6 years ago

Thanks for the help @ikwattro!

Oddly enough, I checked the registration piece and graphql functionality was dependent on where in the conf the module was registered.

If the graphql registration is on its own line before the neo4j-framework registration the graphql endpoint does not work as expected.

not working:

screen shot 2018-06-19 at 6 40 27 pm

However, if the graphql registration is appended it to the same framework registration line (as you put in your code) or in a separate line after the framework registration, the graphql endpoint shows up.

working option 1:

screen shot 2018-06-19 at 6 40 09 pm

working option 2:

screen shot 2018-06-19 at 6 39 52 pm

I can provide additional details about my version, plugins etc if this is unexpected behavior and needs some additional insight to resolve, but the guidance re: registration placement provides the needed functionality.

i'm fairly new to all of this so apologies for bringing up such a small problem.

ikwattro commented 6 years ago

The dbms.unmanaged_extension_classes configuration setting is specific to Neo4j itself, and there should be only one line of it, so it is an expected behavior to have the need to specify both the graphaware framework and graphql extension points together