apache/cassandra · error · IOException
Failed to save index summary to
Error message
Failed to save index summary to
What it means
Thrown when writing an index summary to Summary.db fails with an IOException; if deleteOnFailure was set the partial file is removed first. This indicates the SSTable could not persist its summary, preventing it from being opened.
Source
Thrown at src/java/org/apache/cassandra/io/sstable/format/big/IndexSummaryComponent.java:133
/**
* Save index summary to Summary.db file.
*/
public void save(File summaryFile, boolean deleteOnFailure) throws IOException
{
if (summaryFile.exists())
summaryFile.delete();
try (DataOutputStreamPlus oStream = summaryFile.newOutputStream(File.WriteMode.OVERWRITE))
{
IndexSummary.serializer.serialize(indexSummary, oStream);
ByteBufferUtil.writeWithLength(first.getKey(), oStream);
ByteBufferUtil.writeWithLength(last.getKey(), oStream);
}
catch (IOException ex)
{
if (deleteOnFailure)
summaryFile.deleteIfExists();
throw new IOException("Failed to save index summary to " + summaryFile, ex);
}
}
}
View on GitHub (pinned to 88fd0f6a0e)
Solutions
- Free disk space on the data directory and retry the operation/restart
- Fix directory permissions/ownership so Cassandra can write Summary.db
- Check filesystem health; remove leftover partial Summary.db files (already deleted when deleteOnFailure) and reopen
Defensive patterns
Strategy: try-catch
Validate before calling
// Pre-flight checks before opening SSTables assert dataDir.canWrite() : "data dir not writable"; assert dataDir.getUsableSpace() > minRequiredBytes : "insufficient disk space";
Try / catch
try { sstable = openComponents(...); }
catch (IOException e) {
logger.error("Failed saving index summary to {}: {}", e.getMessage(), e.getCause());
alertDiskOrPermissions();
} Prevention
- Monitor data-volume free space and alert before thresholds
- Run Cassandra as a user owning the data directory
- Avoid read-only mounts / full disks during operations that build summaries
When it happens
Trigger: Opening an SSTable that requires building/saving its index summary (e.g. summary rebuild on open via openComponents) and the write fails — disk full, permission denied, or I/O error on the SSTable directory.
Common situations: Disk full on the data volume; read-only or wrong-ownership data directory; filesystem errors; interrupted save.
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
- SyncException (wraps IOException from disk writer flush/sync
- FSWriteError (wraps IOException writing sstable component)
- Failed to save Bloom filter for SSTable:
- Corrupt flags value for clustering prefix (isStatic flag set
- Corrupted sstable. Invalid flags found deserializing Deletio
AI-assisted analysis of apache/cassandra@88fd0f6a0e (2026-09-10).
Data as JSON: /api/errors/26ec5b53af7b813a.
Report an issue: GitHub.