{"record":{"id":"80aa5449a08073de","repo":"prestodb/presto","slug":"stream-size-s-of-one-of-the-streams-for-column-s","errorCode":null,"errorMessage":"Stream size %s of one of the streams for column %s is larger than supported size %s","messagePattern":"Stream size (.+?) of one of the streams for column (.+?) is larger than supported size (.+?)","errorType":"exception","errorClass":"OrcCorruptionException","httpStatus":null,"severity":"error","filePath":"presto-orc/src/main/java/com/facebook/presto/orc/metadata/DwrfMetadataReader.java","lineNumber":346,"sourceCode":"        long cpuStart = THREAD_MX_BEAN.getCurrentThreadCpuTime();\n        CodedInputStream input = CodedInputStream.newInstance(inputStream);\n        DwrfProto.StripeFooter stripeFooter = DwrfProto.StripeFooter.parseFrom(input);\n        runtimeStats.addMetricValue(\"DwrfReadStripeFooterTimeNanos\", RuntimeUnit.NANO, THREAD_MX_BEAN.getCurrentThreadCpuTime() - cpuStart);\n        return new StripeFooter(\n                toStream(orcDataSourceId, stripeFooter.getStreamsList()),\n                toColumnEncoding(types, stripeFooter.getColumnsList()),\n                stripeFooter.getEncryptedGroupsList().stream()\n                        .map(OrcMetadataReader::byteStringToSlice)\n                        .collect(toImmutableList()),\n                Optional.ofNullable(emptyToNull(stripeFooter.getWriterTimezone()))\n                        .map(timezone -> TimeZone.getTimeZone(ZoneId.of(timezone)).toZoneId()));\n    }\n\n    private static Stream toStream(OrcDataSourceId orcDataSourceId, DwrfProto.Stream stream)\n    {\n        // reader doesn't support streams larger than 2GB\n        if (stream.getLength() > Integer.MAX_VALUE) {\n            throw new OrcCorruptionException(\n                    orcDataSourceId,\n                    \"Stream size %s of one of the streams for column %s is larger than supported size %s\",\n                    stream.getLength(),\n                    stream.getColumn(),\n                    Integer.MAX_VALUE);\n        }\n\n        return new Stream(\n                stream.getColumn(),\n                toStreamKind(stream.getKind()),\n                toIntExact(stream.getLength()),\n                stream.getUseVInts(),\n                stream.getSequence(),\n                stream.hasOffset() ? Optional.of(stream.getOffset()) : Optional.empty());\n    }\n\n    private static List<Stream> toStream(OrcDataSourceId orcDataSourceId, List<DwrfProto.Stream> streams)\n    {","sourceCodeStart":328,"sourceCodeEnd":364,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-orc/src/main/java/com/facebook/presto/orc/metadata/DwrfMetadataReader.java#L328-L364","documentation":"DWRF metadata validation in DwrfMetadataReader.toStream: a stream entry in the stripe footer declares a length exceeding the supported maximum for that stream/column. The %s triple gives stream size, column, and supported limit; indicates a corrupt or writer-inconsistent DWRF stripe footer.","triggerScenarios":"Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/DwrfMetadataReader.java:346 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the DWRF file integrity and re-obtain it if corrupted","Report as a writer bug if the file was written by Presto/DWRF writer","Skip the affected stripe/file in recovery pipelines"],"exampleFix":null,"handlingStrategy":"validation","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"}