Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deserialization fails with JanusGraph when relations are returned #162

Open
sunsided opened this issue Jan 11, 2020 · 1 comment
Open

Deserialization fails with JanusGraph when relations are returned #162

sunsided opened this issue Jan 11, 2020 · 1 comment
Assignees

Comments

@sunsided
Copy link

While I get queries like MATCH (n)-[r]->(m) RETURN n, m to work, when executing a query like MATCH (n)-[r]->(m) RETURN n, r, m, the plugin fails with:

Executing query: 
MATCH (n)-[r]->(m) RETURN n, r, m
Error occurred: Wrong serializer selected. Please check connection configuration. Details...

Regardless of the serializer; in fact, all of the selected do work, as long as I don't attempt to return a relation.

Sadly I can't copy the details from the dialog window, but the error messages go along the line of

  • org.apache.tinkerpop.shaded.kryo.KryoException: Encountered unregistered class ID: 65536 (when using Gryo), or
  • org.apache.tinkerpop.shaded.jackson.databing.exc.MismatchedInputException: Cannot deserialize instance of 'java.lang.String' out of START_OBJECT token (when using Graphson)

Screenshot from 2020-01-11 14-08-34

Now this seems to be a known issue and apparently boils down to org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry being unknown on the client side. For example, see e.g.

As far as JanusGraph is concerned, I can work around this issue by replacing

  • org.janusgraph.channelizers.JanusGraphWsAndHttpChannelizer with org.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer, and
  • org.janusgraph.graphdb.tinkerpop.JanusGraphIoRegistry with org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIoRegistryV3d0,

but I'm not sure of the implications there.

Instead, would it be possible to register JanusGraph's types with the plugin so that it works out of the box? I have a Docker Compose setup ready at sunsided/janusgraph-docker that might help in testing.

@GreYko GreYko self-assigned this Jan 17, 2020
@GreYko
Copy link
Contributor

GreYko commented Jan 17, 2020

Thanks for such complete and useful issue description.
Will look closely into it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants