jetbrains-plugin-graph-database-support icon indicating copy to clipboard operation
jetbrains-plugin-graph-database-support copied to clipboard

Deserialization fails with JanusGraph when relations are returned

Open sunsided opened this issue 5 years ago • 1 comments

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.

  • https://stackoverflow.com/a/53207419/195651
  • https://github.com/orientechnologies/orientdb-gremlin/issues/161#issuecomment-474610383

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.

sunsided avatar Jan 11 '20 13:01 sunsided

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

GreYko avatar Jan 17 '20 11:01 GreYko