2

Installed cassandra 3.10 on three nodes. When checking bin/nodetool status it's throwing an error

nodetool: Failed to connect to '127.0.0.1:7199' - URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199'.

It is working with the command

nodetool -Dcom.sum.jndi.rmiURLParsing=legacy status

But we have configured cassandra.yaml(cluster_name,-seeds,listen_address,rpc_address,endpoint_snitch) for cluster-setup. while giving the above command it's showing only that node details and it is connecting to that node IP(bin/cqlsh ipaddress). Its not showing the status of remaining 2 nodes and its not connecting to those nodes.

2 Answers 2

1

This issue exists due to a change in the JVM and was documented under https://issues.apache.org/jira/browse/CASSANDRA-17581 - the change in behaviour was introduced in Oracle Java 331.

It has been fixed in more recent releases of Cassandra, but for an older version such as 3.10, it is unlikely that a patch would be created since it has no community support.

Options are:

  • Upgrade - highly recommended since 3.10 is out of community support and 3.11 will also soon be out of support. Upgrade to 4.1.
  • Downgrade the java prior to 331 release.
  • Include the -Dcom.sun.jndi.rmiURLParsing=legacy on your calls.
  • Use the ipv6 address nodetool -h ::FFFF:127.0.0.1 status

I strongly encourage you to use a more recent release of Cassandra - it is by far the best option.

2
  • @Prasad - the most suitable option to span on-prem / cloud with a different version in each would be Zero DownTime Migration - datastax.com/dev/zdm . This supports both self-managed cloud clusters, or a migration to DataStax Astra. (SaaS)
    – Andrew
    Commented Jun 21, 2023 at 7:56
  • @Prasad - that depends on how much data / downtime you wish to take, or whether you wish to migrate without any / very-limited downtime
    – Andrew
    Commented Jun 22, 2023 at 7:24
1

This is a well-known issue that was fixed a year ago. In fact, I wrote about it in nodetool with Java 8u331 returns "URISyntaxException: 'Malformed IPv6 address at index 7: rmi://[127.0.0.1]:7199'". 🙂

Java 8u331 updated the parser for JNDI providers (JDK-8278972) that broke the RMI URL in the code used by the nodetool command. The problem was patched in Cassandra 3.0, 3.11 and 4.x by CASSANDRA-17581.

Cassandra 3.10 was released 6 years ago (Feb 2017) so there's really no reason to be running such an old, unsupported version. You'll need to upgrade to at least the latest 3.11 release if you're looking for a fix. Otherwise, follow the workarounds I documented in the post above. Cheers!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.