apache/seatunnel · warning

DebeziumJson file does not support this compress type: {}

Error message

DebeziumJson file does not support this compress type: {}

What it means

A warning from DebeziumJsonWriteStrategy.getOrCreateOutputStream when the configured compress format has no handled case for Debezium JSON text output. The writer falls back to an uncompressed stream, so the produced files ignore the requested compression. Non-fatal: the job continues.

Source

Thrown at seatunnel-connectors-v2/connector-file/connector-file-base/src/main/java/org/apache/seatunnel/connectors/seatunnel/file/sink/writer/DebeziumJsonWriteStrategy.java:141

    @Override
    public FSDataOutputStream getOrCreateOutputStream(@NonNull String filePath) {
        FSDataOutputStream fsDataOutputStream = beingWrittenOutputStream.get(filePath);
        if (fsDataOutputStream == null) {
            try {
                switch (compressFormat) {
                    case LZO:
                        LzopCodec lzo = new LzopCodec();
                        OutputStream out =
                                lzo.createOutputStream(
                                        hadoopFileSystemProxy.getOutputStream(filePath));
                        fsDataOutputStream = new FSDataOutputStream(out, null);
                        break;
                    case NONE:
                        fsDataOutputStream = hadoopFileSystemProxy.getOutputStream(filePath);
                        break;
                    default:
                        log.warn(
                                "DebeziumJson file does not support this compress type: {}",
                                compressFormat.getCompressCodec());
                        fsDataOutputStream = hadoopFileSystemProxy.getOutputStream(filePath);
                        break;
                }
                beingWrittenOutputStream.put(filePath, fsDataOutputStream);
                isFirstWrite.put(filePath, true);
            } catch (IOException e) {
                throw CommonError.fileOperationFailed("DebeziumJsonFile", "open", filePath, e);
            }
        }
        return fsDataOutputStream;
    }
}

View on GitHub (pinned to cf67b549a7)

Solutions

  1. Set compress to a supported value (lzo, gzip, or none) for debezium_json sinks
  2. Consult the file connector documentation for supported compress formats
  3. Use archive compress options if the goal is compressed delivery of text files
  4. Add the missing codec branch in DebeziumJsonWriteStrategy if support is required

Example fix

// before
sink = {
  file_format = "debezium_json"
  compress = "brotli"
}
// after
sink = {
  file_format = "debezium_json"
  compress = "lzo"
}
Defensive patterns

Strategy: validation

Validate before calling

Set<String> supported = Set.of("none", "lzo", "gzip");
if (!supported.contains(compressValue.toLowerCase())) {
    throw new IllegalArgumentException("compress=" + compressValue + " unsupported for debezium_json; use " + supported);
}

Prevention

When it happens

Trigger: Sink configured with file_format=debezium_json and compress set to a codec without a switch case (e.g. BROTLI, ZSTD); triggered when the first record for a file causes getOrCreateOutputStream to open the stream.

Common situations: Config templated across formats; new CompressFormat enum values added upstream but not to this strategy; users expecting parity with ORC compress options.

Related errors


AI-assisted analysis of apache/seatunnel@cf67b549a7 (2026-09-10). Data as JSON: /api/errors/534ca5eaf8efcabb. Report an issue: GitHub.