[jira] [Commented] (CASSANDRA-19453) Enabling remote JMX fails to start
[ https://issues.apache.org/jira/browse/CASSANDRA-19453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17823173#comment-17823173 ] Stefan Miklosovic commented on CASSANDRA-19453: --- Thanks [~brandon.williams], I reproduced the problem, finally, and verified that your suggested patch works. > Enabling remote JMX fails to start > -- > > Key: CASSANDRA-19453 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19453 > Project: Cassandra > Issue Type: Bug > Components: Local/Config >Reporter: Brandon Williams >Assignee: Brandon Williams >Priority: Normal > Fix For: 5.0-rc, 5.x > > > 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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) > ... 7 more > Caused by: java.lang.IllegalAccessException: access to public member failed: > com.sun.jmx.remote.security.JMXPluggableAuthenticator.[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.(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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) > ... 7 common frames omitted > Caused by: java.lang.IllegalAccessException: access to public member failed: > com.sun.jmx.remote.security.JMXPluggableAuthenticator.[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 >
[jira] [Commented] (CASSANDRA-19453) Enabling remote JMX fails to start
[ https://issues.apache.org/jira/browse/CASSANDRA-19453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17823154#comment-17823154 ] Brandon Williams commented on CASSANDRA-19453: -- Looks like we just need to export JMX remote security in j17. ||Branch||CI|| |[5.0|https://github.com/driftx/cassandra/tree/CASSANDRA-19453-5.0]|[j11|https://app.circleci.com/pipelines/github/driftx/cassandra/1489/workflows/0472537f-9cc6-49b7-a910-1dca612f901d], [j17|https://app.circleci.com/pipelines/github/driftx/cassandra/1489/workflows/b6234e38-c93c-4db9-86f9-eb35053deb4b]| |[trunk|https://github.com/driftx/cassandra/tree/CASSANDRA-19453-trunk]|[j11|https://app.circleci.com/pipelines/github/driftx/cassandra/1490/workflows/33b5d443-abad-40c2-bfc3-bd9fb0a03cb6], [j17|https://app.circleci.com/pipelines/github/driftx/cassandra/1490/workflows/5a46bbb9-992f-42ed-8b6a-fcda1c413245]| > Enabling remote JMX fails to start > -- > > Key: CASSANDRA-19453 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19453 > Project: Cassandra > Issue Type: Bug > Components: Local/Config >Reporter: Brandon Williams >Assignee: Brandon Williams >Priority: Normal > Fix For: 5.0-rc, 5.x > > > 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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) > ... 7 more > Caused by: java.lang.IllegalAccessException: access to public member failed: > com.sun.jmx.remote.security.JMXPluggableAuthenticator.[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.(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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at >
[jira] [Commented] (CASSANDRA-19453) Enabling remote JMX fails to start
[ https://issues.apache.org/jira/browse/CASSANDRA-19453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17823074#comment-17823074 ] Angelo Polo commented on CASSANDRA-19453: - I'm getting the exact same error with 5.0-beta1. This is a fresh install on a fresh Amazon Linux 2023 on arm64 instance. JAVA_HOME seems to be correct. {code:java} $ java -version openjdk version "17.0.2" 2022-01-18 OpenJDK Runtime Environment (build 17.0.2+8-86) OpenJDK 64-Bit Server VM (build 17.0.2+8-86, mixed mode, sharing) $ which java /usr/local/bin/jdk-17.0.2/bin/java $ echo $JAVA_HOME /usr/local/bin/jdk-17.0.2 $ echo $CASSANDRA_CONF /home/cassandra/c_conf/5.0-beta1_01 $ echo $CASSANDRA_HOME /usr/local/bin/apache-cassandra-5.0-beta1 {code} ("XXX"s indicate redaction.) {code:java} $ cd $CASSANDRA_CONF $ diff cassandra.yaml.bak cassandra.yaml 11c11 < cluster_name: 'Test Cluster' --- > cluster_name: 'XX' 154c154 < class_name : org.apache.cassandra.auth.AllowAllAuthenticator --- > class_name : org.apache.cassandra.auth.PasswordAuthenticator 169c169 < authorizer: AllowAllAuthorizer --- > authorizer: CassandraAuthorizer 974c974 < rpc_address: localhost --- > rpc_address: XXX-XXX-XXX-XXX $ diff cassandra-env.sh.bak cassandra-env.sh 206c206 < # JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=" --- > JVM_OPTS="$JVM_OPTS > -Djava.rmi.server.hostname=ec2-XXX-XXX-XXX-XXX.compute-1.amazonaws.com" 216a217 > LOCAL_JMX=no 224c225 < JMX_PORT="7199" --- > JMX_PORT="7488" {code} Get the same error whether or not I set "java.rmi.server.hostname". If I do not set "LOCAL_JMX=no" in cassandra-env.sh, it runs fine. Any ideas what could be wrong? > Enabling remote JMX fails to start > -- > > Key: CASSANDRA-19453 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19453 > Project: Cassandra > Issue Type: Bug > Components: Local/Config >Reporter: Brandon Williams >Priority: Normal > Fix For: 5.0-rc, 5.x > > > 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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) > ... 7 more > Caused by: java.lang.IllegalAccessException: access to public member failed: > com.sun.jmx.remote.security.JMXPluggableAuthenticator.[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.(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 >
[jira] [Commented] (CASSANDRA-19453) Enabling remote JMX fails to start
[ https://issues.apache.org/jira/browse/CASSANDRA-19453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822571#comment-17822571 ] Brandon Williams commented on CASSANDRA-19453: -- Oh, I am using java 11, which is probably relevant. > Enabling remote JMX fails to start > -- > > Key: CASSANDRA-19453 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19453 > Project: Cassandra > Issue Type: Bug > Components: Local/Config >Reporter: Brandon Williams >Priority: Normal > Fix For: 5.0-rc, 5.x > > > 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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) > ... 7 more > Caused by: java.lang.IllegalAccessException: access to public member failed: > com.sun.jmx.remote.security.JMXPluggableAuthenticator.[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.(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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) > ... 7 common frames omitted > Caused by: java.lang.IllegalAccessException: access to public member failed: > com.sun.jmx.remote.security.JMXPluggableAuthenticator.[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 >
[jira] [Commented] (CASSANDRA-19453) Enabling remote JMX fails to start
[ https://issues.apache.org/jira/browse/CASSANDRA-19453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822569#comment-17822569 ] Brandon Williams commented on CASSANDRA-19453: -- I don't know what to tell you {quote} ERROR [main] 2024-03-01 07:28:48,437 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.[Ljava.lang.Object;@588ffeb/invokeSpecial, from class org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper (unnamed module @4944252c) at org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) ... 7 common frames omitted Caused by: java.lang.IllegalAccessException: access to public member failed: com.sun.jmx.remote.security.JMXPluggableAuthenticator.[Ljava.lang.Object;@588ffeb/invokeSpecial, from class org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper (unnamed module @4944252c) 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.(JMXServerUtils.java:302) ... 7 common frames omitted drift@focal2:~/cassandra/5.0$ git diff diff --git a/conf/cassandra-env.sh b/conf/cassandra-env.sh index ba9f9d4596..d29ac83bc0 100644 --- a/conf/cassandra-env.sh +++ b/conf/cassandra-env.sh @@ -215,7 +215,7 @@ JVM_ON_OUT_OF_MEMORY_ERROR_OPT="-XX:OnOutOfMemoryError=kill -9 %p" # with authentication and/or ssl enabled. See https://wiki.apache.org/cassandra/JmxSecurity # if [ "x$LOCAL_JMX" = "x" ]; then -LOCAL_JMX=yes +LOCAL_JMX=baz fi # Specifies the default port over which Cassandra will be available for drift@focal2:~/cassandra/5.0$ {quote} > Enabling remote JMX fails to start > -- > > Key: CASSANDRA-19453 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19453 > Project: Cassandra > Issue Type: Bug > Components: Local/Config >Reporter: Brandon Williams >Priority: Normal > Fix For: 5.0-rc, 5.x > > > 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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) > ... 7 more > Caused by: java.lang.IllegalAccessException: access to public member failed: >
[jira] [Commented] (CASSANDRA-19453) Enabling remote JMX fails to start
[ https://issues.apache.org/jira/browse/CASSANDRA-19453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822567#comment-17822567 ] Stefan Miklosovic commented on CASSANDRA-19453: --- If I have fully setup ssl like this (checkout LOCAL_JMX=baz) it will just jump to else branch again and all will be just started fine. {noformat} LOCAL_JMX="baz" if [ "x$LOCAL_JMX" = "x" ]; then LOCAL_JMX=yes fi # Specifies the default port over which Cassandra will be available for # JMX connections. # For security reasons, you should not expose this port to the internet. Firewall it if needed. JMX_PORT="7199" if [ "$LOCAL_JMX" = "yes" ]; then JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.local.port=$JMX_PORT" JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=false" else JVM_OPTS="$JVM_OPTS -Dcassandra.jmx.remote.port=$JMX_PORT" # if ssl is enabled the same port cannot be used for both jmx and rmi so either # pick another value for this property or comment out to use a random port (though see CASSANDRA-7087 for origins) JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.rmi.port=7750" # turn on JMX authentication. See below for further options JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.authenticate=true" # jmx ssl options JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl=true" JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl.need.client.auth=false" JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.registry.ssl=true" JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl.enabled.protocols=TLSv1.2" JVM_OPTS="$JVM_OPTS -Dcom.sun.management.jmxremote.ssl.enabled.cipher.suites=TLS_RSA_WITH_AES_256_CBC_SHA" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStore=/submit/cassandra/ssl/$(hostname)-server-keystore.p12" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.keyStorePassword=cassandra" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStore=/submit/cassandra/ssl/server-truststore.jks" JVM_OPTS="$JVM_OPTS -Djavax.net.ssl.trustStorePassword=cassandra" fi {noformat} > Enabling remote JMX fails to start > -- > > Key: CASSANDRA-19453 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19453 > Project: Cassandra > Issue Type: Bug > Components: Local/Config >Reporter: Brandon Williams >Assignee: Stefan Miklosovic >Priority: Normal > Fix For: 5.0-rc, 5.x > > > 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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) > ... 7 more > Caused by: java.lang.IllegalAccessException: access to public member failed: > com.sun.jmx.remote.security.JMXPluggableAuthenticator.[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.(JMXServerUtils.java:302) > ... 7 more > ERROR [main] 2024-03-01 06:16:00,028 CassandraDaemon.java:877 -
[jira] [Commented] (CASSANDRA-19453) Enabling remote JMX fails to start
[ https://issues.apache.org/jira/browse/CASSANDRA-19453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17822563#comment-17822563 ] Stefan Miklosovic commented on CASSANDRA-19453: --- I just can't reproduce it. When I set "LOCAL_JMX=baz" in cassandra-env.sh before "if [ "x$LOCAL_JMX" = "x" ]; then", then it will not be set to "yes" because it is not empty. Then if it is not "yes" but "baz" it will go to else branch in the next if-else. Node starts fine, then doing "nodetool status" will do {noformat} $ ./bin/nodetool status error: Authentication failed! Credentials required -- StackTrace -- java.lang.SecurityException: Authentication failed! Credentials required at java.management/com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticationFailure(JMXPluggableAuthenticator.java:212) at java.management/com.sun.jmx.remote.security.JMXPluggableAuthenticator.authenticate(JMXPluggableAuthenticator.java:164) at org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.authenticate(JMXServerUtils.java:321) at java.management.rmi/javax.management.remote.rmi.RMIServerImpl.doNewClient(RMIServerImpl.java:231) at java.management.rmi/javax.management.remote.rmi.RMIServerImpl.newClient(RMIServerImpl.java:198) 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 java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676) 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) {noformat} > Enabling remote JMX fails to start > -- > > Key: CASSANDRA-19453 > URL: https://issues.apache.org/jira/browse/CASSANDRA-19453 > Project: Cassandra > Issue Type: Bug > Components: Local/Config >Reporter: Brandon Williams >Assignee: Stefan Miklosovic >Priority: Normal > Fix For: 5.0-rc, 5.x > > > 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.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper > (unnamed module @51dcb805) > at > org.apache.cassandra.utils.JMXServerUtils$JMXPluggableAuthenticatorWrapper.(JMXServerUtils.java:306) > ... 7 more > Caused by: java.lang.IllegalAccessException: access to public member failed: > com.sun.jmx.remote.security.JMXPluggableAuthenticator.[Ljava.lang.Object;@afb5821/invokeSpecial, > from class >