(AWS Neptune) Java deserialization error /subgraph

84 views
Skip to first unread message

Phil Crosland

unread,
Mar 25, 2021, 9:37:41 PM3/25/21
to Gremlin-users
Looking for a way to fix or avoid this error. It is very much desired to get the subgraph back. The following code causes the server to throw an error:

Object graph = g.V(keyValue).repeat(.outE("EDGE_TYPE")
.subgraph("sg")
.inV()).cap("sg").next();

error:
WARN o.a.t.g.driver.MessageSerializer - Response  could not be deserialized by org.apache.tinkerpop.gremlin.driver.ser.AbstractGryoMessageSerializerV3d0.

org.apache.tinkerpop.shaded.kryo.KryoException: Encountered unregistered class ID: 65536
at org.apache.tinkerpop.gremlin.structure.io.gryo.AbstractGryoClassResolver.readClass(AbstractGryoClassResolver.java:148)
at org.apache.tinkerpop.shaded.kryo.Kryo.readClass(Kryo.java:670)
at org.apache.tinkerpop.shaded.kryo.Kryo.readClassAndObject(Kryo.java:781)
at org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedKryoAdapter.readClassAndObject(ShadedKryoAdapter.java:39)
at org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedKryoAdapter.readClassAndObject(ShadedKryoAdapter.java:24)
at org.apache.tinkerpop.gremlin.structure.io.gryo.GryoSerializersV3d0$DefaultRemoteTraverserSerializer.read(GryoSerializersV3d0.java:417)
at org.apache.tinkerpop.gremlin.structure.io.gryo.GryoSerializersV3d0$DefaultRemoteTraverserSerializer.read(GryoSerializersV3d0.java:408)
at org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedSerializerAdapter.read(ShadedSerializerAdapter.java:52)
at org.apache.tinkerpop.shaded.kryo.Kryo.readClassAndObject(Kryo.java:790)
at org.apache.tinkerpop.shaded.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:134)
at org.apache.tinkerpop.shaded.kryo.serializers.CollectionSerializer.read(CollectionSerializer.java:40)
at org.apache.tinkerpop.shaded.kryo.Kryo.readClassAndObject(Kryo.java:790)
at org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedKryoAdapter.readClassAndObject(ShadedKryoAdapter.java:39)
at org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedKryoAdapter.readClassAndObject(ShadedKryoAdapter.java:24)
at org.apache.tinkerpop.gremlin.driver.ser.ResponseMessageGryoSerializer.read(ResponseMessageGryoSerializer.java:56)
at org.apache.tinkerpop.gremlin.driver.ser.ResponseMessageGryoSerializer.read(ResponseMessageGryoSerializer.java:34)
at org.apache.tinkerpop.gremlin.structure.io.gryo.kryoshim.shaded.ShadedSerializerAdapter.read(ShadedSerializerAdapter.java:52)
at org.apache.tinkerpop.shaded.kryo.Kryo.readObject(Kryo.java:686)
at org.apache.tinkerpop.gremlin.driver.ser.AbstractGryoMessageSerializerV3d0.deserializeResponse(AbstractGryoMessageSerializerV3d0.java:157)
at org.apache.tinkerpop.gremlin.driver.handler.WebSocketGremlinResponseDecoder.decode(WebSocketGremlinResponseDecoder.java:47)
at org.apache.tinkerpop.gremlin.driver.handler.WebSocketGremlinResponseDecoder.decode(WebSocketGremlinResponseDecoder.java:35)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:88)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.websocketx.Utf8FrameValidator.channelRead(Utf8FrameValidator.java:82)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:286)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:103)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:296)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1526)
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1275)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1322)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:501)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:440)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:714)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:650)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:576)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:493)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.lang.Thread.run(Thread.java:748)

Stephen Mallette

unread,
Mar 26, 2021, 6:31:36 AM3/26/21
to gremli...@googlegroups.com
Could you please share the code that shows how you construct "g"?

--
You received this message because you are subscribed to the Google Groups "Gremlin-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to gremlin-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/gremlin-users/6050ac0c-3802-4f3c-91f1-1d545c93dd64n%40googlegroups.com.

Phil Crosland

unread,
Mar 26, 2021, 11:43:55 AM3/26/21
to Gremlin-users
String neptuneUri = propertyHelper.getProperty(NEPTUNE_URI.getConstantValue());
String tmpPort = propertyHelper.getProperty(NEPTUNE_PORT.getConstantValue());
Integer binaryPort = Integer.parseInt(tmpPort);
String trustStorePath = propertyHelper.getProperty(TRUSTSTORE.getConstantValue());

Cluster.Builder builder = Cluster.build();
builder.addContactPoint(neptuneUri);
builder.port(binaryPort);
builder.enableSsl(true);
builder.trustStore(trustStorePath);

Cluster cluster = builder.create();
cluster.connect();
DriverRemoteConnection dc = DriverRemoteConnection.using(cluster);
GraphTraversalSource = traversal().withRemote(dc);

Phil Crosland

unread,
Mar 26, 2021, 11:49:31 AM3/26/21
to Gremlin-users

I added in : builder.serializer(Serializers.GRAPHBINARY_V1D0);
and it seems to be working 

Stephen Mallette

unread,
Mar 26, 2021, 12:40:17 PM3/26/21
to gremli...@googlegroups.com
ok - i was going to suggest something along those lines, though I'd have expected Gryo 3.0 to work fine

Reply all
Reply to author
Forward
0 new messages