-
-
Notifications
You must be signed in to change notification settings - Fork 90
Description
ArcadeDB Version:
ArcadeDB Server v23.9.1-SNAPSHOT (build 4af32c4/1692516450033/main)
OS and JDK Version:
Linux 6.2.0-27-generic - OpenJDK 64-Bit Server VM 11.0.20 (Temurin-11.0.20+8)
Expected behavior
Should be able to connect to database via gremlin.
Actual behavior
Connection failed:
2023-08-21 11:59:03.931 INFO [GremlinServer] Gremlin Server configured with worker thread pool of 1, gremlin pool of 16 and boss thread pool of 1. 2023-08-21 11:59:03.932 INFO [HttpServer] <ArcadeDB_0> - Starting HTTP Server (host=0.0.0.0 port=2480-2489 httpsPort=2490-2499)... 2023-08-21 11:59:03.932 INFO [GremlinServer] Channel started at port 8182. 2023-08-21 11:59:04.003 INFO [HttpServer] <ArcadeDB_0> - HTTP Server started (host=0.0.0.0 port=2480 httpsPort=2490) 2023-08-21 11:59:04.003 INFO [ArcadeDBServer] <ArcadeDB_0> Available query languages: [sqlscript, mongo, gremlin, java, cypher, js, graphql, sql] 2023-08-21 11:59:04.004 INFO [ArcadeDBServer] <ArcadeDB_0> ArcadeDB Server started in 'development' mode (CPUs=16 MAXRAM=2.00GB) 2023-08-21 11:59:04.004 INFO [ArcadeDBServer] <ArcadeDB_0> Studio web tool available at http://92800d754fe2:2480 Failed to initialize a channel. Closing: [id: 0xacf32ab6, L:/172.17.0.2:8182 - R:/172.17.0.1:32982] java.lang.NoSuchMethodError: 'void io.netty.handler.codec.DefaultHeadersImpl.<init>(io.netty.util.HashingStrategy, io.netty.handler.codec.ValueConverter, io.netty.handler.codec.DefaultHeaders$NameValidator, int, io.netty.handler.codec.DefaultHeaders$ValueValidator)' at io.netty.handler.codec.http.DefaultHttpHeaders.<init>(DefaultHttpHeaders.java:86) at io.netty.handler.codec.http.DefaultHttpHeaders.<init>(DefaultHttpHeaders.java:77) at io.netty.handler.codec.http.DefaultHttpMessage.<init>(DefaultHttpMessage.java:41) at io.netty.handler.codec.http.DefaultHttpResponse.<init>(DefaultHttpResponse.java:64) at io.netty.handler.codec.http.DefaultFullHttpResponse.<init>(DefaultFullHttpResponse.java:62) at io.netty.handler.codec.http.DefaultFullHttpResponse.<init>(DefaultFullHttpResponse.java:57) at io.netty.handler.codec.http.DefaultFullHttpResponse.<init>(DefaultFullHttpResponse.java:43) at io.netty.handler.codec.http.HttpObjectAggregator.<clinit>(HttpObjectAggregator.java:89) at org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer.configure(WebSocketChannelizer.java:100) at org.apache.tinkerpop.gremlin.server.AbstractChannelizer.initChannel(AbstractChannelizer.java:176) at org.apache.tinkerpop.gremlin.server.AbstractChannelizer.initChannel(AbstractChannelizer.java:80) at io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129) at io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112) at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1114) at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609) at io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:46) at io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1463) at io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1115) at io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:650) at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:514) at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:429) at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:486) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:829) Failed to initialize a channel. Closing: [id: 0x98d809fd, L:/172.17.0.2:8182 - R:/172.17.0.1:32992] java.lang.NoClassDefFoundError: Could not initialize class io.netty.handler.codec.http.HttpObjectAggregator at org.apache.tinkerpop.gremlin.server.channel.WebSocketChannelizer.configure(WebSocketChannelizer.java:100) at org.apache.tinkerpop.gremlin.server.AbstractChannelizer.initChannel(AbstractChannelizer.java:176) at org.apache.tinkerpop.gremlin.server.AbstractChannelizer.initChannel(AbstractChannelizer.java:80) at io.netty.channel.ChannelInitializer.initChannel(ChannelInitializer.java:129) at io.netty.channel.ChannelInitializer.handlerAdded(ChannelInitializer.java:112) at io.netty.channel.AbstractChannelHandlerContext.callHandlerAdded(AbstractChannelHandlerContext.java:1114) at io.netty.channel.DefaultChannelPipeline.callHandlerAdded0(DefaultChannelPipeline.java:609) at io.netty.channel.DefaultChannelPipeline.access$100(DefaultChannelPipeline.java:46) at io.netty.channel.DefaultChannelPipeline$PendingHandlerAddedTask.execute(DefaultChannelPipeline.java:1463) at io.netty.channel.DefaultChannelPipeline.callHandlerAddedForAllHandlers(DefaultChannelPipeline.java:1115) at io.netty.channel.DefaultChannelPipeline.invokeHandlerAddedIfNeeded(DefaultChannelPipeline.java:650) at io.netty.channel.AbstractChannel$AbstractUnsafe.register0(AbstractChannel.java:514) at io.netty.channel.AbstractChannel$AbstractUnsafe.access$200(AbstractChannel.java:429) at io.netty.channel.AbstractChannel$AbstractUnsafe$1.run(AbstractChannel.java:486) at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569) at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) at java.base/java.lang.Thread.run(Thread.java:829)
Steps to reproduce
Launch the docker container with beer sample and exposed ports as per documentation. Try to open connection via gdotv. (Also attempted to connect via java app to arcadedata/arcadedb:23.6.1 seeing the same error.)
"Failure to initialize channel" is repeated multiple times, it seems to be a resulting error from the first connection failure.
Could not identify the source of the NoSuchMethodError, the constructor should be available in Netty 4.1 and this seems to be the version used by arcade as well:
https://netty.io/4.1/api/io/netty/handler/codec/DefaultHeadersImpl.html#DefaultHeadersImpl-io.netty.util.HashingStrategy-io.netty.handler.codec.ValueConverter-io.netty.handler.codec.DefaultHeaders.NameValidator-int-io.netty.handler.codec.DefaultHeaders.ValueValidator-
(Some other versions only offer the constructor with fewer parameters.)