{"record":{"id":"37cc2740cddafb03","repo":"apache/seatunnel","slug":"the-file-does-not-support-the-compressed-file-read","errorCode":null,"errorMessage":"The file does not support the compressed file reading","messagePattern":"The file does not support the compressed file reading","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"seatunnel-connectors-v2/connector-file/connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/source/reader/AbstractReadStrategy.java","lineNumber":580,"sourceCode":"        if (maxBytes <= 0 || entrySize <= 0 || entrySize <= maxBytes) {\n            return;\n        }\n        throw new FileConnectorException(\n                CommonErrorCodeDeprecated.UNSUPPORTED_OPERATION,\n                String.format(\n                        \"Archived entry [%s] is %,d bytes, larger than POI limit %,d bytes. \"\n                                + \"Please set excel_engine = EasyExcel, or increase the limit if POI is required.\",\n                        entryName, entrySize, maxBytes));\n    }\n\n    protected void readProcess(\n            FileSourceSplit split,\n            Collector<SeaTunnelRow> output,\n            InputStream inputStream,\n            Map<String, String> partitionsMap,\n            String currentFileName)\n            throws IOException {\n        throw new UnsupportedOperationException(\n                \"The file does not support the compressed file reading\");\n    }\n\n    protected Map<String, String> parsePartitionsByPath(String path) {\n        LinkedHashMap<String, String> partitions = new LinkedHashMap<>();\n        if (StringUtils.isBlank(path)) {\n            return partitions;\n        }\n        Arrays.stream(path.split(\"/\", -1))\n                .filter(split -> split.contains(\"=\"))\n                .map(split -> split.split(\"=\", -1))\n                .forEach(kv -> partitions.put(kv[0], kv[1]));\n        return partitions;\n    }\n\n    protected String getPathForPartitionInference(String fallbackPath) {\n        if (!fileNames.isEmpty()) {\n            return fileNames.get(0);","sourceCodeStart":562,"sourceCodeEnd":598,"githubUrl":"https://github.com/apache/seatunnel/blob/cf67b549a7a6c35fa0beb12d83c62892427ea919/seatunnel-connectors-v2/connector-file/connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/source/reader/AbstractReadStrategy.java#L562-L598","documentation":"The base AbstractReadStrategy.readProcess hook is an unsupported-operation stub: only readers that support compressed archive reading override it. If a concrete read strategy (or file format) does not implement compressed-file processing, calling it throws UnsupportedOperationException with this message.","triggerScenarios":"A source split resolves to a compressed archive file and resolveArchiveCompressedInputStream dispatches to readProcess(...) for the format's reader, but that reader class does not override the default readProcess implementation.","commonSituations":"Using a file format/reader combination (e.g. a format whose reader has no archive support) against a .zip/.tar.gz input; the same job works with plain files but fails once the file is compressed.","solutions":["Decompress the archive before ingestion and point the source at the uncompressed files.","Switch to a file_format_type/reader that supports compressed reading (e.g. text/csv/json readers with archive support), or excel_engine = EasyExcel for Excel.","Upgrade SeaTunnel to a version where the chosen format supports archive reading."],"exampleFix":"// before\nfile_format_type = csv\npath = \"/data/dump.tar.gz\"\n// after\n# decompress first: tar -xzf dump.tar.gz -C /data/dump/\npath = \"/data/dump\"","handlingStrategy":"validation","validationCode":"if (path.endsWith(\".zip\") || path.endsWith(\".tar.gz\") || path.endsWith(\".gz\")) {\n    // verify chosen file_format_type/reader documents compressed-file support before running\n}","typeGuard":null,"tryCatchPattern":"try {\n    read(path);\n} catch (UnsupportedOperationException e) {\n    if (e.getMessage().contains(\"compressed file reading\")) {\n        // decompress externally or switch format, then retry\n    }\n}","preventionTips":["Check format docs for archive support before pointing a reader at .zip/.tar.gz files","Decompress archives in a preprocessing step for unsupported formats","Keep SeaTunnel updated — archive support expands per format over time"],"tags":["file","archive","compression","unsupported-operation"],"backgroundTag":"unsupported-operation","analyzedSha":"cf67b549a7a6c35fa0beb12d83c62892427ea919","analyzedAt":"2026-09-10T21:44:55.265Z","contentChangedAt":"2026-09-10T21:44:55.265Z","schemaVersion":2},"datasetVersion":"2026-09-14T11:17:12.474Z"}