[
https://issues.apache.org/jira/browse/CASSANDRA-19453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=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.<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}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]