apache/cassandra · error · RuntimeException

java.io.IOException

Error message

java.io.IOException

What it means

RuntimeException wrapper from DescribeRing.execute when probe.describeRing throws IOException — the JMX call to fetch ring/token-range data failed at the transport level. Keyspace validity is checked earlier, so this is a connectivity/server failure, not a bad keyspace.

Solutions

  1. Check JMX connectivity to the node
  2. Retry after the node/network recovers
  3. Inspect the chained IOException for the underlying cause
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at src/java/org/apache/cassandra/tools/nodetool/DescribeRing.java:54 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10). Data as JSON: /api/errors/b27f96356df6e17c. Report an issue: GitHub.

Appendix: source

Thrown at src/java/org/apache/cassandra/tools/nodetool/DescribeRing.java:54

    @Mixin
    private PrintPortMixin printPortMixin = new PrintPortMixin();

    @Override
    public void execute(NodeProbe probe)
    {
        PrintStream out = probe.output().out;
        out.println("Schema Version:" + probe.getSchemaVersion());
        out.println("TokenRange: ");
        try
        {
            for (String tokenRangeString : probe.describeRing(keyspace, printPortMixin.printPort))
            {
                out.println("\t" + tokenRangeString);
            }
        } catch (IOException e)
        {
            throw new RuntimeException(e);
        }
    }
}

View on GitHub (pinned to 88fd0f6a0e)