apache/cassandra · error · CorruptSSTableException
Corrupted
Error message
Corrupted: %s
What it means
In UnfilteredRowIterators' validation wrapper, Unfiltered.validateData raised MarshalException for a row/static-row/range-tombstone-marker being iterated. The code converts it to CorruptSSTableException(me, filename): the on-disk data violates the schema's type constraints, i.e. SSTable corruption, not a user error.
Solutions
- Run nodetool scrub or repair to remove/rebuild the corrupted rows
- Restore the affected SSTables from a backup or rebuild the node from replicas
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at src/java/org/apache/cassandra/db/rows/UnfilteredRowIterators.java:344 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/753dcf40929f8abe.
Report an issue: GitHub.
Appendix: source
Thrown at src/java/org/apache/cassandra/db/rows/UnfilteredRowIterators.java:344
return row;
}
@Override
public RangeTombstoneMarker applyToMarker(RangeTombstoneMarker marker)
{
validate(marker);
return marker;
}
private void validate(Unfiltered unfiltered)
{
try
{
unfiltered.validateData(iterator.metadata());
}
catch (MarshalException me)
{
throw new CorruptSSTableException(me, filename);
}
}
}
return Transformation.apply(iterator, new Validator());
}
/**
* Wraps the provided iterator so it logs the returned atoms for debugging purposes.
* <p>
* Note that this is only meant for debugging as this can log a very large amount of
* logging at INFO.
*/
public static UnfilteredRowIterator loggingIterator(UnfilteredRowIterator iterator, final String id, final boolean fullDetails)
{
TableMetadata metadata = iterator.metadata();
logger.info("[{}] Logging iterator on {}.{}, partition key={}, reversed={}, deletion={}",
id,
metadata.keyspace,View on GitHub (pinned to 88fd0f6a0e)