{"record":{"id":"753dcf40929f8abe","repo":"apache/cassandra","slug":"corrupted-s","errorCode":null,"errorMessage":"Corrupted: %s","messagePattern":"Corrupted: (.+?)","errorType":"exception","errorClass":"CorruptSSTableException","httpStatus":null,"severity":"error","filePath":"src/java/org/apache/cassandra/db/rows/UnfilteredRowIterators.java","lineNumber":344,"sourceCode":"                return row;\n            }\n\n            @Override\n            public RangeTombstoneMarker applyToMarker(RangeTombstoneMarker marker)\n            {\n                validate(marker);\n                return marker;\n            }\n\n            private void validate(Unfiltered unfiltered)\n            {\n                try\n                {\n                    unfiltered.validateData(iterator.metadata());\n                }\n                catch (MarshalException me)\n                {\n                    throw new CorruptSSTableException(me, filename);\n                }\n            }\n        }\n        return Transformation.apply(iterator, new Validator());\n    }\n\n    /**\n     * Wraps the provided iterator so it logs the returned atoms for debugging purposes.\n     * <p>\n     * Note that this is only meant for debugging as this can log a very large amount of\n     * logging at INFO.\n     */\n    public static UnfilteredRowIterator loggingIterator(UnfilteredRowIterator iterator, final String id, final boolean fullDetails)\n    {\n        TableMetadata metadata = iterator.metadata();\n        logger.info(\"[{}] Logging iterator on {}.{}, partition key={}, reversed={}, deletion={}\",\n                    id,\n                    metadata.keyspace,","sourceCodeStart":326,"sourceCodeEnd":362,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/db/rows/UnfilteredRowIterators.java#L326-L362","documentation":"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.","triggerScenarios":"Thrown at src/java/org/apache/cassandra/db/rows/UnfilteredRowIterators.java:344 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}