{"record":{"id":"3937f32ff0558075","repo":"prestodb/presto","slug":"values-in-column-s-are-too-large-to-process-for-3937f3","errorCode":null,"errorMessage":"Values in column \"%s\" are too large to process for Presto. Requested to read [%s] bytes, when max allowed is [%s] bytes [%s]","messagePattern":"Values in column \"(.+?)\" are too large to process for Presto\\. Requested to read \\[(.+?)\\] bytes, when max allowed is \\[(.+?)\\] bytes \\[(.+?)\\]","errorType":"exception","errorClass":"GenericInternalException","httpStatus":null,"severity":"error","filePath":"presto-orc/src/main/java/com/facebook/presto/orc/reader/SliceDirectSelectiveStreamReader.java","lineNumber":721,"sourceCode":"                for (int i = 0; i < totalPositions; i++) {\n                    boolean isNotNull = nullCount == 0 || !isNullVector[i];\n                    if (i == positions[positionIndex]) {\n                        if (isNotNull) {\n                            totalLength += lengthVector[lengthIndex];\n                            maxLength = Math.max(maxLength, lengthVector[lengthIndex]);\n                            lengthIndex++;\n                        }\n                        positionIndex++;\n                    }\n                    else if (isNotNull) {\n                        lengthIndex++;\n                    }\n                }\n            }\n\n            // TODO Do not throw if outputRequired == false\n            if (totalLength > context.getMaxSliceSize()) {\n                throw new GenericInternalException(\n                        format(\"Values in column \\\"%s\\\" are too large to process for Presto. Requested to read [%s] bytes, when max allowed is [%s] bytes [%s]\",\n                                context.getStreamDescriptor().getFieldName(),\n                                totalLength,\n                                context.getMaxSliceSize(),\n                                context.getStreamDescriptor().getOrcDataSourceId()));\n            }\n        }\n\n        if (context.isOutputRequired()) {\n            if (presentStream != null && context.isNullsAllowed()) {\n                nulls = ensureCapacity(nulls, positionCount);\n            }\n            dataLength = totalLength;\n            data = ensureCapacity(data, totalLength);\n            offsets = ensureCapacity(offsets, totalPositions + 1, SMALL, INITIALIZE);\n        }\n        else {\n            if (useBatchMode(positionCount, totalPositions)) {","sourceCodeStart":703,"sourceCodeEnd":739,"githubUrl":"https://github.com/prestodb/presto/blob/55bb57d202de3b926896fa966c2c4a44c779634e/presto-orc/src/main/java/com/facebook/presto/orc/reader/SliceDirectSelectiveStreamReader.java#L703-L739","documentation":"Same maxSliceSize guard as the batch reader, applied in the selective (filter-pushdown) path: the summed lengths of the selected positions exceed the block size limit. Caused by very large varchar/varbinary values surviving the filter, not by corruption.","triggerScenarios":"Thrown at presto-orc/src/main/java/com/facebook/presto/orc/reader/SliceDirectSelectiveStreamReader.java:721 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Raise the max slice size limit if cluster memory allows","Add selective predicates that reduce the number/size of surviving wide values","Project the wide column out of the query or truncate/cast it","Rebalance data so individual row groups are smaller"],"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"}