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) 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 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!

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.