{"record":{"id":"8d424dbaed3d0a16","repo":"prestodb/presto","slug":"invalid-postscript","errorCode":null,"errorMessage":"Invalid postscript","messagePattern":"Invalid postscript","errorType":"exception","errorClass":"OrcCorruptionException","httpStatus":null,"severity":"error","filePath":"presto-orc/src/main/java/com/facebook/presto/orc/metadata/ExceptionWrappingMetadataReader.java","lineNumber":55,"sourceCode":"    private final OrcDataSourceId orcDataSourceId;\n    private final MetadataReader delegate;\n\n    public ExceptionWrappingMetadataReader(OrcDataSourceId orcDataSourceId, MetadataReader delegate)\n    {\n        this.orcDataSourceId = requireNonNull(orcDataSourceId, \"orcDataSourceId is null\");\n        this.delegate = requireNonNull(delegate, \"delegate is null\");\n        checkArgument(!(delegate instanceof ExceptionWrappingMetadataReader), \"ExceptionWrappingMetadataReader can not wrap a ExceptionWrappingMetadataReader\");\n    }\n\n    @Override\n    public PostScript readPostScript(byte[] data, int offset, int length)\n            throws OrcCorruptionException, IOException\n    {\n        try {\n            return delegate.readPostScript(data, offset, length);\n        }\n        catch (InvalidProtocolBufferException e) {\n            throw new OrcCorruptionException(e, orcDataSourceId, \"Invalid postscript\");\n        }\n    }\n\n    @Override\n    public Metadata readMetadata(HiveWriterVersion hiveWriterVersion, InputStream inputStream)\n            throws OrcCorruptionException, IOException\n    {\n        try {\n            return delegate.readMetadata(hiveWriterVersion, inputStream);\n        }\n        catch (InvalidProtocolBufferException e) {\n            throw new OrcCorruptionException(e, orcDataSourceId, \"Invalid file metadata\");\n        }\n    }\n\n    @Override\n    public Footer readFooter(HiveWriterVersion hiveWriterVersion,\n            InputStream inputStream,","sourceCodeStart":37,"sourceCodeEnd":73,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-orc/src/main/java/com/facebook/presto/orc/metadata/ExceptionWrappingMetadataReader.java#L37-L73","documentation":"ORC metadata-reading error in ExceptionWrappingMetadataReader.readPostScript: parsing the postscript protobuf failed (InvalidProtocolBufferException), wrapped as 'Invalid postscript'. The postscript is the file's trailing metadata block, so this almost always means a truncated, corrupted, or non-ORC file.","triggerScenarios":"Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/ExceptionWrappingMetadataReader.java:55 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Confirm the file is a complete ORC file (not truncated by a failed write)","Verify HDFS/S3 object size matches expectations","Recover from the original data source"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"55bb57d202de3b926896fa966c2c4a44c779634e","analyzedAt":"2026-09-04T12:50:26.162Z","contentChangedAt":"2026-09-04T12:50:26.162Z","schemaVersion":2},"datasetVersion":"2026-09-11T21:17:09.523Z"}