Skip to content

Compatibility Issue: NoSuchMethodError with Cassandra 4.0.13 #126

@jmachalica

Description

@jmachalica

I am encountering an issue when using cassandra-exporter version 0.9.13 with Apache Cassandra 4.0.13. The exporter fails with the following error:

WARN [prometheus-netty-pool-0] 2025-02-12 18:36:47,790 DefaultChannelPipeline.java (line 1152) An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
java.lang.NoSuchMethodError: org.apache.cassandra.locator.InetAddressAndPort.getAddress()Ljava/net/InetAddress;
	at com.zegelin.cassandra.exporter.InternalMetadataFactory.localBroadcastAddress(InternalMetadataFactory.java:90)
	at com.zegelin.cassandra.exporter.Harvester.globalLabels(Harvester.java:283)
	at com.zegelin.cassandra.exporter.netty.HttpHandler.sendMetrics(HttpHandler.java:292)

Upon further investigation, it appears that the method InetAddressAndPort.getAddress() does not exist in Cassandra 4.0.13.

  • Cassandra 4.0.13: No such method in InetAddressAndPort (Javadoc)
  • Cassandra 4.0.0: No such method either (Javadoc)
  • Cassandra 4.1.0: The method exists, as InetAddressAndPort extends InetSocketAddress (Javadoc)

This suggests that cassandra-exporter might not be compatible with Cassandra 4.0.x.

Additionally, I noticed that there is an unmerged PR (#114) that seems to address this issue and aims to make the exporter compatible with versions <4.0, 4.1>.

Can you confirm whether cassandra-exporter 0.9.13 officially supports Cassandra 4.0.x? If not, is there a recommended workaround or fix?

Thanks in advance for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions