Closed kki03 closed 2 years ago
Given there appears to be progress on a proper upstream fix, I'm hesitant to do very much in the Docker image to work around this (because we'll only need to roll it back as soon as they've got a real fix out).
From what I can see, Cassandra itself does not fail to start and this only affects nodetool
, so I would suggest using one of the following workarounds from https://issues.apache.org/jira/browse/CASSANDRA-17581?focusedCommentId=17528612&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-17528612 in the meantime:
OPTION 1 - Add the "legacy" parsing flag when running
nodetool
, for example:$ nodetool -Dcom.sun.jndi.rmiURLParsing=legacy status
OPTION 2 - Specify the hostname with an IPv6 subnet prefix, for example:
$ nodetool -h ::FFFF:127.0.0.1 status
I fully agree with you that it makes no sense to work around the issue especially since the Apache Cassandra team is already working on a fix. But maybe it would make sense to temporarily suspend image creation for Cassandra 3.x until they have a fix ready. Otherwise we might end up with Cassandra versions in Docker hub where nodetool is not working as expected.
Just for the records, Cassandra 3.x docker images have been rebuilt with Java 8u332 yesterday (May 5th) and nodetool doesn´t work anymore without hostname or legacy mode.
This has been fixed in cassandra 4.04, which has been released. 3.0.27 and 3.11.13 also have the fix, and has been released.
@tianon I would greatly appreciate it if you could run the script that updates the versions in the docker-library/official-images repository, so that we can get the official image with the fix from dockerhub. Thank you :)
Fixed here in https://github.com/docker-library/cassandra/commit/d6898545a7629b1a7ee7e719379e26fab9bc29de, https://github.com/docker-library/cassandra/commit/dd116c4542c20c0cb34df6db706230cb7872c51d, and https://github.com/docker-library/cassandra/commit/e78718f9e87bc48ec55d367b91f1b4ab4534dbf2; downstream PR at https://github.com/docker-library/official-images/pull/12449. :+1:
With the latest Java updates a change to RMI url handling happened which breaks the Cassandra nodetool command. For the details see Apache Cassandra issue CASSANDRA-17581.
Currently there is only Cassandra 4 affected but as soon as Eclipse Temurin images for Java 8u332 are available nodetool will stop working for Cassandra 3.x as well.