apache/seatunnel · error · UnsupportedOperationException
The file does not support the compressed file reading
Error message
The file does not support the compressed file reading
What it means
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.
Source
Thrown at seatunnel-connectors-v2/connector-file/connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/source/reader/AbstractReadStrategy.java:580
if (maxBytes <= 0 || entrySize <= 0 || entrySize <= maxBytes) {
return;
}
throw new FileConnectorException(
CommonErrorCodeDeprecated.UNSUPPORTED_OPERATION,
String.format(
"Archived entry [%s] is %,d bytes, larger than POI limit %,d bytes. "
+ "Please set excel_engine = EasyExcel, or increase the limit if POI is required.",
entryName, entrySize, maxBytes));
}
protected void readProcess(
FileSourceSplit split,
Collector<SeaTunnelRow> output,
InputStream inputStream,
Map<String, String> partitionsMap,
String currentFileName)
throws IOException {
throw new UnsupportedOperationException(
"The file does not support the compressed file reading");
}
protected Map<String, String> parsePartitionsByPath(String path) {
LinkedHashMap<String, String> partitions = new LinkedHashMap<>();
if (StringUtils.isBlank(path)) {
return partitions;
}
Arrays.stream(path.split("/", -1))
.filter(split -> split.contains("="))
.map(split -> split.split("=", -1))
.forEach(kv -> partitions.put(kv[0], kv[1]));
return partitions;
}
protected String getPathForPartitionInference(String fallbackPath) {
if (!fileNames.isEmpty()) {
return fileNames.get(0);View on GitHub (pinned to cf67b549a7)
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.
Example fix
// before file_format_type = csv path = "/data/dump.tar.gz" // after # decompress first: tar -xzf dump.tar.gz -C /data/dump/ path = "/data/dump"
Defensive patterns
Strategy: validation
Validate before calling
if (path.endsWith(".zip") || path.endsWith(".tar.gz") || path.endsWith(".gz")) {
// verify chosen file_format_type/reader documents compressed-file support before running
} Try / catch
try {
read(path);
} catch (UnsupportedOperationException e) {
if (e.getMessage().contains("compressed file reading")) {
// decompress externally or switch format, then retry
}
} Prevention
- 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
When it happens
Trigger: 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.
Common situations: 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.
Understand the failure class
Background: UnsupportedOperationException and "is not supported" errors: when a library deliberately refuses a call — this error's family across 30 libraries.
Related errors
- Excel file must have a .gz extension. File: %s
- CommonErrorCodeDeprecated.UNSUPPORTED_OPERATION
- The file does not support this archive compress type: {}
- The {} file format is incorrect. Please check the format in
- enable_file_split=true but compress_codec={} or archive_comp
AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10).
Data as JSON: /api/errors/37cc2740cddafb03.
Report an issue: GitHub.