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

arm64 support for DSE 6.8 images #417

Open
adejanovski opened this issue Oct 31, 2023 · 0 comments
Open

arm64 support for DSE 6.8 images #417

adejanovski opened this issue Oct 31, 2023 · 0 comments
Labels
bug Something isn't working

Comments

@adejanovski
Copy link
Contributor

adejanovski commented Oct 31, 2023

Trying to start a DSE 6.8 cluster using K8ssandra on arm64 instances, we can see the pods will never get to a ready state and the following exception pops up in the logs:

INFO  [DSE main thread] 2023-10-31 08:25:31,448  CassandraDaemonInterceptor.java:52 - Starting DataStax Management API Agent for Apache Cassandra v0.1
WARN  [DSE main thread] 2023-10-31 08:25:31,612  CassandraDaemonInterceptor.java:94 - Problem starting DataStax Management API for Apache Cassandra
java.lang.RuntimeException: Event loop needed
	at com.datastax.mgmtapi.interceptors.CassandraDaemonInterceptor.intercept(CassandraDaemonInterceptor.java:56)
	at org.apache.cassandra.service.CassandraDaemon.start(CassandraDaemon.java)
	at com.datastax.bdp.server.DseDaemon.start(DseDaemon.java:559)
	at org.apache.cassandra.service.CassandraDaemon.activate0(CassandraDaemon.java:809)
	at org.apache.cassandra.service.CassandraDaemon.access$100(CassandraDaemon.java:88)
	at org.apache.cassandra.service.CassandraDaemon$3.run(CassandraDaemon.java:717)
INFO  [DSE main thread] 2023-10-31 08:25:31,613  MetricsInterceptor.java:65 - Starting Metric Collector for Apache Cassandra
ERROR [DSE main thread] 2023-10-31 08:25:33,331  MetricsInterceptor.java:92 - Unable to start metrics endpoint
java.lang.UnsatisfiedLinkError: failed to load the required native library
	at io.netty.channel.epoll.Epoll.ensureAvailability(Epoll.java:81)
	at io.netty.channel.epoll.EpollEventLoop.<clinit>(EpollEventLoop.java:59)
	at io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:209)
	at io.netty.channel.epoll.EpollEventLoopGroup.newChild(EpollEventLoopGroup.java:37)
	at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:84)
	at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:60)
	at io.netty.util.concurrent.MultithreadEventExecutorGroup.<init>(MultithreadEventExecutorGroup.java:49)
	at io.netty.channel.MultithreadEventLoopGroup.<init>(MultithreadEventLoopGroup.java:59)
	at io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:119)
	at io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:106)
	at io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:83)
	at io.netty.channel.epoll.EpollEventLoopGroup.<init>(EpollEventLoopGroup.java:54)
	at io.k8ssandra.metrics.interceptors.MetricsInterceptor.intercept(MetricsInterceptor.java:82)
	at org.apache.cassandra.service.CassandraDaemon.start(CassandraDaemon.java)
	at com.datastax.bdp.server.DseDaemon.start(DseDaemon.java:559)
	at org.apache.cassandra.service.CassandraDaemon.activate0(CassandraDaemon.java:809)
	at org.apache.cassandra.service.CassandraDaemon.access$100(CassandraDaemon.java:88)
	at org.apache.cassandra.service.CassandraDaemon$3.run(CassandraDaemon.java:717)
Caused by: java.lang.UnsatisfiedLinkError: could not load a native library: netty_transport_native_epoll_aarch_64
	at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:239)
	at io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:419)
	at io.netty.channel.epoll.Native.<clinit>(Native.java:88)
	at io.netty.channel.epoll.Epoll.<clinit>(Epoll.java:40)
	at org.apache.cassandra.concurrent.TPC.<clinit>(TPC.java:84)
	at org.apache.cassandra.auth.AuthCache.initCache(AuthCache.java:306)
	at org.apache.cassandra.auth.AuthCache.init(AuthCache.java:105)
	at org.apache.cassandra.auth.AuthCache.<init>(AuthCache.java:100)
	at org.apache.cassandra.auth.RolesCache.<init>(RolesCache.java:56)
	at org.apache.cassandra.auth.RolesCache.<init>(RolesCache.java:39)
	at org.apache.cassandra.auth.AuthManager.<init>(AuthManager.java:74)
	at org.apache.cassandra.auth.AuthConfig.applyAuth(AuthConfig.java:94)
	at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:241)
	at org.apache.cassandra.config.DatabaseDescriptor.daemonInitialization(DatabaseDescriptor.java:254)
	at com.datastax.bdp.DseCoreModule.<init>(DseCoreModule.java:83)
	at com.datastax.bdp.DseModule.getRequiredModules(DseModule.java:161)
	at com.datastax.bdp.server.AbstractDseModule.configure(AbstractDseModule.java:27)
	at com.datastax.bdp.DseModule.configure(DseModule.java:88)
	at com.google.inject.AbstractModule.configure(AbstractModule.java:62)
	at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
	at com.google.inject.spi.Elements.getElements(Elements.java:110)
	at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
	at com.google.inject.Guice.createInjector(Guice.java:96)
	at com.google.inject.Guice.createInjector(Guice.java:73)
	at com.google.inject.Guice.createInjector(Guice.java:62)
	at com.datastax.bdp.ioc.DseInjector.get(DseInjector.java:36)
	at com.datastax.bdp.DseModule.main(DseModule.java:102)
	Suppressed: java.lang.UnsatisfiedLinkError: could not load a native library: netty_transport_native_epoll
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:239)
		at io.netty.channel.epoll.Native.loadNativeLibrary(Native.java:422)
		... 26 common frames omitted
	Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_transport_native_epoll.so
		at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:186)
		... 27 common frames omitted
		Suppressed: java.lang.UnsatisfiedLinkError: no netty_transport_native_epoll in java.library.path
			at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
			at java.lang.Runtime.loadLibrary0(Runtime.java:843)
			at java.lang.System.loadLibrary(System.java:1136)
			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)
			... 27 common frames omitted
			Suppressed: java.lang.UnsatisfiedLinkError: no netty_transport_native_epoll in java.library.path
				at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
				at java.lang.Runtime.loadLibrary0(Runtime.java:843)
				at java.lang.System.loadLibrary(System.java:1136)
				at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
				at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
				at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
				at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
				at java.lang.reflect.Method.invoke(Method.java:498)
				at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:425)
				at java.security.AccessController.doPrivileged(Native Method)
				at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:417)
				at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:383)
				... 28 common frames omitted
Caused by: java.io.FileNotFoundException: META-INF/native/libnetty_transport_native_epoll_aarch_64.so
	at io.netty.util.internal.NativeLibraryLoader.load(NativeLibraryLoader.java:186)
	... 27 common frames omitted
	Suppressed: java.lang.UnsatisfiedLinkError: no netty_transport_native_epoll_aarch_64 in java.library.path
		at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
		at java.lang.Runtime.loadLibrary0(Runtime.java:843)
		at java.lang.System.loadLibrary(System.java:1136)
		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)
		... 27 common frames omitted
		Suppressed: java.lang.UnsatisfiedLinkError: no netty_transport_native_epoll_aarch_64 in java.library.path
			at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
			at java.lang.Runtime.loadLibrary0(Runtime.java:843)
			at java.lang.System.loadLibrary(System.java:1136)
			at io.netty.util.internal.NativeLibraryUtil.loadLibrary(NativeLibraryUtil.java:38)
			at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
			at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
			at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
			at java.lang.reflect.Method.invoke(Method.java:498)
			at io.netty.util.internal.NativeLibraryLoader$1.run(NativeLibraryLoader.java:425)
			at java.security.AccessController.doPrivileged(Native Method)
			at io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper(NativeLibraryLoader.java:417)
			at io.netty.util.internal.NativeLibraryLoader.loadLibrary(NativeLibraryLoader.java:383)
			... 28 common frames omitted

This seems to indicate we're missing a netty dependency in the java path to provide arm64 compatibility.

┆Issue is synchronized with this Jira Story by Unito
┆Issue Number: MAPI-20

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
No open projects
Status: No status
Development

No branches or pull requests

1 participant