Support netty-tcnative on a new architecture(LoongArch64)
Panxuefeng-loongson opened this issue · comments
I run pulsar on LoongArch64, the following error occurred, I compiled netty-tcnatve locally, the problem is not solved:
[ERROR] Tests run: 17, Failures: 1, Errors: 0, Skipped: 14, Time elapsed: 23.029 s <<< FAILURE! - in org.apache.pulsar.common.util.netty.SslContextTest
[ERROR] testClientCaCertSslContextWithSslProvider(org.apache.pulsar.common.util.netty.SslContextTest) Time elapsed: 0.046 s <<< FAILURE!
java.lang.AssertionError: Expected SSLException to be thrown, but UnsatisfiedLinkError was thrown
at org.testng.Assert.expectThrows(Assert.java:1724)
at org.testng.Assert.assertThrows(Assert.java:1695)
at org.apache.pulsar.common.util.netty.SslContextTest.testClientCaCertSslContextWithSslProvider(SslContextTest.java:126)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:132)
at org.testng.internal.InvokeMethodRunnable.runOne(InvokeMethodRunnable.java:45)
at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:73)
at org.testng.internal.InvokeMethodRunnable.call(InvokeMethodRunnable.java:11)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.UnsatisfiedLinkError: failed to load the required native library
at io.netty.handler.ssl.OpenSsl.ensureAvailability(OpenSsl.java:596)
at io.netty.handler.ssl.SslContext.newClientContextInternal(SslContext.java:830)
at io.netty.handler.ssl.SslContextBuilder.build(SslContextBuilder.java:611)
at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:303)
at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:282)
at org.apache.pulsar.common.util.SecurityUtility.createNettySslContextForClient(SecurityUtility.java:211)
at org.apache.pulsar.common.util.NettyClientSslContextRefresher.update(NettyClientSslContextRefresher.java:79)
at org.testng.Assert.expectThrows(Assert.java:1714)
... 14 more
Caused by: java.lang.IllegalArgumentException: Failed to load any of the given libraries: [netty_tcnative_linux_unknown, netty_tcnative_linux_unknown_fedora, netty_tcnative_unknown, netty_tcnative]
at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:114)
at io.netty.handler.ssl.OpenSsl.loadTcNative(OpenSsl.java:705)
at io.netty.handler.ssl.OpenSsl.<clinit>(OpenSsl.java:146)
... 21 more
Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_tcnative_linux_unknown
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:239)
at io.netty.util.internal.NativeLibraryLoader.loadFirstAvailable(NativeLibraryLoader.java:105)
... 23 more
Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_tcnative_linux_unknown.so
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:186)
... 24 more
Suppressed: java.lang.UnsatisfiedLinkError: no netty_tcnative_linux_unknown in java.library.path: [/usr/java/packages/lib, /lib, /usr/lib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1873)
at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:391)
at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:161)
... 24 more
Suppressed: java.lang.UnsatisfiedLinkError: no netty_tcnative_linux_unknown in java.library.path: [/usr/java/packages/lib, /lib, /usr/lib]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
What netty version ?
Should work since netty 4.1.79.Final: