Details
Description
A Cassandra node using default configuration is unable to start on IPv6-only machine with the following error message:
ERROR [main] 2016-08-13 14:38:07,309 CassandraDaemon.java:731 - Bad URL path: :0:0:0:0:0:1/jndi/rmi://0:0:0:0:0:0:0:1:7199/jmxrmi
The problem might be located in JMXServerUtils.createJMXServer() (I am not sure, because there is no stack trace in system.log):
String urlTemplate = "service:jmx:rmi://%1$s/jndi/rmi://%1$s:%2$d/jmxrmi"; ... String url = String.format(urlTemplate, (serverAddress != null ? serverAddress.getHostAddress() : "0.0.0.0"), port);
IPv6 addresses must be surrounded by square brackets when passed to JMXServiceURL.
Disabling LOCAL_JMX mode in cassandra-env.sh (and enabling JMX authentication) helps.