首页 > 解决方案 > CorruptedFrameException:远程客户端中的多个 addV() gremlin 查询

问题描述

工具集: 数据库服务器:TinkerPop/TinkerGraph v 3.3.3(Stanalone - 使用 conf/gremlin-server.yaml)(通道器:org.apache.tinkerpop.gremlin.server.channel.WsAndHttpChannelizer)

客户端:来自 Java 的 Gremlin 客户端。

问题:当我多次调用 client.submitAsync() 时,我收到一个异常。如果我更改查询内容,则在引发异常之前的重复计数会有所不同。这向我表明它在客户端配置中需要做一些事情!

2018-11-07 09:57:59.418 错误 20672 --- [n-driver-loop-2] oatgdHandler$GremlinResponseHandler:无法处理响应 io.netty.handler.codec.CorruptedFrameException:最大帧长度为 65536超过。在 io.netty.handler.codec.http.websocketx.WebSocket08FrameDecoder.protocolViolation(WebSocket08FrameDecoder.java:412) ~[netty-all-4.1.24.Final.jar:4.1.24.Final] 在 io.netty.handler。 codec.http.websocketx.WebSocket08FrameDecoder.decode(WebSocket08FrameDecoder.java:277) ~[netty-all-4.1.24.Final.jar:4.1.24.Final] at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder .java:489) ~[netty-all-4.1.24.Final.jar:4.1.24.Final] 在 io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:428) ~[netty-all- 4.1.24.Final.jar:4.1.24.Final] 在 io.netty.handler。

标签: gremlin

解决方案


connectionPool.maxContentLength驱动程序和maxContentLengthGremlin Server 中的值增加到 65536 以上。理想情况下,客户端和服务器上的两种大小应该匹配,但我认为不必如此。

我假设您正在根据这个问题向服务器提交一个非常大的脚本。小心点。大型脚本,尤其是那些未参数化的脚本,可能会导致应用程序行为中出现不同的问题。


推荐阅读