Dremio 25.0.0 issue in JDK11

Dear Dremio team,

Currently my company is upgrading Dremio from v24.1 to v25.0. And the JDK version also upgrade to JDK11. But we face an issue in Dremio v25 + JDK11. Please kindly help. Thanks in advance.

The issue is:
When we run the junit test cases, it will report below error:

11:42:51.902 [UserServer-1] ERROR c.d.exec.rpc.RpcExceptionHandler - Exception in RPC communication.  Connection: /10.25.137.242:31343 <--> /10.25.137.242:57506 (user client).  Closing connection.
java.lang.UnsupportedOperationException: sun.misc.Unsafe or java.nio.DirectByteBuffer.<init>(long, int) not available
	at io.netty.util.internal.PlatformDependent.directBuffer(PlatformDependent.java:532)
	at io.netty.buffer.NettyArrowBuf.getDirectBuffer(NettyArrowBuf.java:267)
	at io.netty.buffer.NettyArrowBuf.nioBuffer(NettyArrowBuf.java:245)
	at io.netty.buffer.NettyArrowBuf.nioBuffers(NettyArrowBuf.java:229)
	at io.netty.buffer.NettyArrowBuf.setBytes(NettyArrowBuf.java:389)
	at io.netty.buffer.MutableWrappedByteBuf.setBytes(MutableWrappedByteBuf.java:373)
	at io.netty.buffer.ExpandableByteBuf.setBytes(ExpandableByteBuf.java:27)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:357)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
	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:834)
11:42:51.904 [Client-1] ERROR c.d.exec.rpc.RpcExceptionHandler - Exception in RPC communication.  Connection: null <--> null (user client).  Closing connection.
java.lang.UnsupportedOperationException: sun.misc.Unsafe or java.nio.DirectByteBuffer.<init>(long, int) not available
	at io.netty.util.internal.PlatformDependent.directBuffer(PlatformDependent.java:532)
	at io.netty.buffer.NettyArrowBuf.getDirectBuffer(NettyArrowBuf.java:267)
	at io.netty.buffer.NettyArrowBuf.nioBuffer(NettyArrowBuf.java:245)
	at io.netty.buffer.NettyArrowBuf.nioBuffers(NettyArrowBuf.java:229)
	at io.netty.buffer.NettyArrowBuf.setBytes(NettyArrowBuf.java:389)
	at io.netty.buffer.MutableWrappedByteBuf.setBytes(MutableWrappedByteBuf.java:373)
	at io.netty.buffer.ExpandableByteBuf.setBytes(ExpandableByteBuf.java:27)
	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:357)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
	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:834)


com.dremio.exec.rpc.RpcException: HANDSHAKE_COMMUNICATION : [USER]: Channel closed null <--> null (user client)

	at com.dremio.exec.client.DremioClient$FutureHandler.connectionFailed(DremioClient.java:909)
	at com.dremio.sabot.rpc.user.QueryResultHandler$ChannelClosedHandler.connectionFailed(QueryResultHandler.java:402)
	at com.dremio.exec.rpc.BasicClient$ConnectionMultiListener$HandshakeSendListener.failed(BasicClient.java:469)
	at com.dremio.exec.rpc.RequestIdMap$RpcListener.setException(RequestIdMap.java:202)
	at com.dremio.exec.rpc.RequestIdMap$SetExceptionProcedure.apply(RequestIdMap.java:116)
	at com.dremio.exec.rpc.RequestIdMap$SetExceptionProcedure.apply(RequestIdMap.java:106)
	at com.carrotsearch.hppc.IntObjectHashMap.forEach(IntObjectHashMap.java:692)
	at com.dremio.exec.rpc.RequestIdMap.doNotify(RequestIdMap.java:102)
	at com.dremio.exec.rpc.RequestIdMap.channelClosed(RequestIdMap.java:67)
	at com.dremio.exec.rpc.RemoteConnection.channelClosed(RemoteConnection.java:207)
	at com.dremio.exec.rpc.RpcBus$ChannelClosedHandler.operationComplete(RpcBus.java:246)
	at com.dremio.exec.rpc.RpcBus$ChannelClosedHandler.operationComplete(RpcBus.java:228)
	at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)
	at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:557)
	at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)
	at io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)
	at io.netty.util.concurrent.DefaultPromise.setSuccess0(DefaultPromise.java:625)
	at io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:105)
	at io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:84)
	at io.netty.channel.AbstractChannel$CloseFuture.setClosed(AbstractChannel.java:1164)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:755)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:731)
	at io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:620)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.close(DefaultChannelPipeline.java:1352)
	at io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:755)
	at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:733)
	at io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:560)
	at com.dremio.exec.rpc.RpcExceptionHandler.exceptionCaught(RpcExceptionHandler.java:42)
	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346)
	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325)
	at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:317)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.exceptionCaught(DefaultChannelPipeline.java:1377)
	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346)
	at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325)
	at io.netty.channel.DefaultChannelPipeline.fireExceptionCaught(DefaultChannelPipeline.java:907)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.handleReadException(AbstractNioByteChannel.java:125)
	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:177)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
	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:834)
Caused by: com.dremio.exec.rpc.ChannelClosedException: [USER]: Channel closed null <--> null (user client)
	at com.dremio.exec.rpc.RpcBus$ChannelClosedHandler.operationComplete(RpcBus.java:244)
	... 33 more

Please help and advise. Thanks again.

Best Regards,
Yours

1 Like