apache/cassandra · error · RuntimeException
java.io.IOException
Error message
java.io.IOException
What it means
During `nodetool cms dump` (or similar CMSAdmin dump command), writing or resolving the dump file location threw an IOException. The tool wraps it in a RuntimeException so the nodetool client fails with the IO cause attached.
Source
Thrown at src/java/org/apache/cassandra/tools/nodetool/CMSAdmin.java:344
{
try
{
if (dumpOptions == null)
{
String fileLocation = probe.getCMSOperationsProxy().dumpClusterMetadata();
printCMSDumpLocation(probe, fileLocation);
}
else
{
String fileLocation = probe.getCMSOperationsProxy().dumpClusterMetadata(dumpOptions.epoch,
dumpOptions.transformEpoch,
dumpOptions.version.name());
printCMSDumpLocation(probe, fileLocation);
}
}
catch (IOException e)
{
throw new RuntimeException(e);
}
}
private void printCMSDumpLocation(NodeProbe probe, String fileLocation)
{
probe.output().out.println("Cluster Metadata dump available at " + fileLocation);
}
}
}
View on GitHub (pinned to 88fd0f6a0e)
Solutions
- Check that the dump target directory exists and is writable by the Cassandra user (ls -ld, chown if needed)
- Free disk space if the filesystem is full
- Re-run the dump with a path on a writable local filesystem, then inspect the wrapped IOException cause in the output
Example fix
// before nodetool cms dump --output /proc/foo // after nodetool cms dump --output /var/lib/cassandra/data/cmmdump
Defensive patterns
Strategy: try-catch
Validate before calling
File dir = new File(outputPath);
if (!dir.getParentFile().canWrite()) throw new IllegalStateException("not writable: " + dir); Try / catch
try { dump(); }
catch (RuntimeException e) {
if (e.getCause() instanceof IOException io) {
System.err.println("Dump IO failure: " + io.getMessage());
}
} Prevention
- Pre-dump to a directory writable by the Cassandra user
- Monitor disk space
- Unwrap getCause() to find the real IOException
When it happens
Trigger: The dump target path is not writable (permissions, read-only filesystem, nonexistent directory) or an IO error occurs while the server writes the cluster metadata dump file.
Common situations: Dumping to a directory the Cassandra process cannot write to, full disk, or passing a --output location on a node whose filesystem is read-only.
Understand the failure class
Background: "failed to write file", "Could not save figure", "Error saving remote file" — file write failed: causes and fixes across languages and libraries — this error's family across 38 libraries.
Related errors
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/ae92f69a06fe4227.
Report an issue: GitHub.