Bug: Enabling remote JMX fails to start
Status: Resolved
Priority: Normal
Resolution: Fixed
Created: 01/Mar/24 12:17
Resolved: 04/Mar/24 20:19

If you set LOCAL_JMX to something other than 'yes' in conf/cassandra-env.sh, you receive:

{noformat}
Exception (java.lang.ExceptionInInitializerError) encountered during startup: null
java.lang.ExceptionInInitializerError
        at org.apache.cassandra.utils.JMXServerUtils.configureJmxAuthentication(JMXServerUtils.java:188)
        at org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:106)
        at org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:154)
        at org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:172)
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:240)
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:721)
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:855)
Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: access to public member failed: com.sun.jmx.remote.security.JMXPluggableAuthenticator.<init>[Ljava.lang.Object;@afb5821/invokeSpecial, from class org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper (unnamed module @51dcb805)
        at org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.<clinit>(JMXServerUtils.java:306)
        ... 7 more
Caused by: java.lang.IllegalAccessException: access to public member failed: com.sun.jmx.remote.security.JMXPluggableAuthenticator.<init>[Ljava.lang.Object;@afb5821/invokeSpecial, from class org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper (unnamed module @51dcb805)
        at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:955)
        at java.base/java.lang.invoke.MethodHandles$Lookup.checkAccess(MethodHandles.java:3882)
        at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectConstructorCommon(MethodHandles.java:4117)
        at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectConstructorNoSecurityManager(MethodHandles.java:4111)
        at java.base/java.lang.invoke.MethodHandles$Lookup.unreflectConstructor(MethodHandles.java:3433)
        at org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.<clinit>(JMXServerUtils.java:302)
        ... 7 more
ERROR [main] 2024-03-01 06:16:00,028 CassandraDaemon.java:877 - Exception encountered during startup
java.lang.ExceptionInInitializerError: null
        at org.apache.cassandra.utils.JMXServerUtils.configureJmxAuthentication(JMXServerUtils.java:188)
        at org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:106)
        at org.apache.cassandra.utils.JMXServerUtils.createJMXServer(JMXServerUtils.java:154)
        at org.apache.cassandra.service.CassandraDaemon.maybeInitJmx(CassandraDaemon.java:172)
        at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:240)
        at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:721)
        at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:855)
Caused by: java.lang.RuntimeException: java.lang.IllegalAccessException: access to public member failed: com.sun.jmx.remote.security.JMXPluggableAuthenticator.<init>[Ljava.lang.Object;@afb5821/invokeSpecial, from class org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper (unnamed module @51dcb805)
        at org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.<clinit>(JMXServerUtils.java:306)
        ... 7 common frames omitted
Caused by: java.lang.IllegalAccessException: access to public member failed: com.sun.jmx.remote.security.JMXPluggableAuthenticator.<init>[Ljava.lang.Object;@afb5821/invokeSpecial, from class org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper (unnamed module @51dcb805)
        at java.base/java.lang.invoke.MemberName.makeAccessException(MemberName.java:955)
        at java.base/java.lang.invoke.MethodHandles$Lookup.checkAccess(MethodHandles.java:3882)
        at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectConstructorCommon(MethodHandles.java:4117)
        at java.base/java.lang.invoke.MethodHandles$Lookup.getDirectConstructorNoSecurityManager(MethodHandles.java:4111)
        at java.base/java.lang.invoke.MethodHandles$Lookup.unreflectConstructor(MethodHandles.java:3433)
        at org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.<clinit>(JMXServerUtils.java:302)
        ... 7 common frames omitted
{noformat}