Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

disable native kqueue transport from lettuce #10557

Open
donghun-cho opened this issue Dec 15, 2023 · 0 comments
Open

disable native kqueue transport from lettuce #10557

donghun-cho opened this issue Dec 15, 2023 · 0 comments
Assignees

Comments

@donghun-cho
Copy link
Contributor

donghun-cho commented Dec 15, 2023

some modules can not connect to redis because of netty kqueue library.
happened in osx aarch and it probably won't happen in linux.

temporary disable native kqueue transport from lettuce by adding io.lettuce.core.kqueue=false to system properties.
lettuce native transport

suspected cause

native library version conflict with shaded library.
netty-transport-native-kqueue version: 4.1.97.Final, 4.1.87.Final(hbase-shaded-client)

error logs

java.lang.NoClassDefFoundError: Could not initialize class io.netty.channel.unix.Errors
	at io.netty.channel.unix.Socket.connect(Socket.java:351) ~[netty-transport-native-unix-common-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.kqueue.AbstractKQueueChannel.doConnect0(AbstractKQueueChannel.java:727) ~[netty-transport-classes-kqueue-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.kqueue.KQueueSocketChannel.doConnect0(KQueueSocketChannel.java:102) ~[netty-transport-classes-kqueue-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.kqueue.AbstractKQueueChannel.doConnect(AbstractKQueueChannel.java:712) ~[netty-transport-classes-kqueue-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.kqueue.AbstractKQueueChannel$AbstractKQueueUnsafe.connect(AbstractKQueueChannel.java:558) [netty-transport-classes-kqueue-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1342) [netty-transport-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.AbstractChannelHandlerContext.invokeConnect(AbstractChannelHandlerContext.java:653) [netty-transport-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:632) [netty-transport-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:616) [netty-transport-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.DefaultChannelPipeline.connect(DefaultChannelPipeline.java:978) [netty-transport-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.AbstractChannel.connect(AbstractChannel.java:265) [netty-transport-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.bootstrap.Bootstrap$3.run(Bootstrap.java:264) [netty-transport-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) [netty-common-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) [netty-common-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) [netty-common-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:300) [netty-transport-classes-kqueue-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) [netty-common-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) [netty-common-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) [netty-common-4.1.97.Final.jar:4.1.97.Final]
	at java.lang.Thread.run(Thread.java:840) [?:?]
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: 'int io.netty.channel.unix.ErrorsStaticallyReferencedJniMethods.errorEHOSTUNREACH()' [in thread "lettuce-kqueueEventLoop-4-4"]
	at io.netty.channel.unix.ErrorsStaticallyReferencedJniMethods.errorEHOSTUNREACH(Native Method) ~[netty-transport-native-unix-common-4.1.97.Final.jar:4.1.97.Final]
	at io.netty.channel.unix.Errors.<clinit>(Errors.java:62) ~[netty-transport-native-unix-common-4.1.97.Final.jar:4.1.97.Final]
	... 20 more
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant