-
-
Notifications
You must be signed in to change notification settings - Fork 90
Closed
Milestone
Description
After updateing my Docker image from arcadedb:26.1.1 to arcadedb:26.2.1, I am no longer able to connect to the GremlinServer via WebSocket. I get the following error trace in the ArcadeDB container logs:
An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
java.lang.NoSuchMethodError: 'boolean io.netty.handler.codec.DefaultHeaders.containsAny(java.lang.Object, java.lang.Object, java.util.function.BiPredicate)'
at io.netty.handler.codec.http.DefaultHttpHeaders.containsValue(DefaultHttpHeaders.java:379)
at io.netty.handler.codec.http.websocketx.extensions.WebSocketExtensionUtil.isWebsocketUpgrade(WebSocketExtensionUtil.java:43)
at io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandler.onHttpRequestChannelRead(WebSocketServerExtensionHandler.java:121)
at io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandler.channelRead(WebSocketServerExtensionHandler.java:82)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:107)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
at io.netty.handler.codec.ByteToMessageDecoder.channelInputClosed(ByteToMessageDecoder.java:406)
at io.netty.handler.codec.ByteToMessageDecoder.channelInactive(ByteToMessageDecoder.java:377)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251)
at io.netty.channel.ChannelInboundHandlerAdapter.channelInactive(ChannelInboundHandlerAdapter.java:81)
at io.netty.handler.timeout.IdleStateHandler.channelInactive(IdleStateHandler.java:284)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelInactive(AbstractChannelHandlerContext.java:251)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelInactive(DefaultChannelPipeline.java:1424)
at io.netty.channel.DefaultChannelPipeline.fireChannelInactive(DefaultChannelPipeline.java:876)
at io.netty.channel.AbstractChannel$AbstractUnsafe$6.run(AbstractChannel.java:676)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:148)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:141)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:535)
at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:201)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at java.base/java.lang.Thread.run(Thread.java:1583)
This looks lika a dependency issue in the Docker image to me. I cleared my complete Docker cache and deleted all images before pulling the new image, so I don't think it is some kind of Docker build issue.
Here are some more information about my setup:
- I'm calling ArcadeDB from a Python application using
gremlinpythonon latest (v3.8.0) - I use the following environment variables for AracdeDB in the Docker container (mounted via Docker compose):
JAVA_OPTS: >
-Darcadedb.server.rootPassword=***
-Darcadedb.server.plugins=GremlinServer:com.arcadedb.server.gremlin.GremlinServerPlugin
- The Websocket runs on Port 8182 and uses the following URL to establish connection:
ws://localhost:8182/gremlin
Reactions are currently unavailable