prestodb/presto · error · IllegalArgumentException

Invalid compressionCodec:

Error message

Invalid compressionCodec: 

What it means

Sentinel-style guard in getCompressionCodecName: the Hadoop compression codec class name returned by the parquet writer does not map to any Presto parquet CompressionCodec enum constant (SNAPPY, GZIP, LZO, BROTLI, LZ4, etc.). Fires when writing a parquet file whose configured codec class is unknown, typically due to an unsupported or misspelled compression option.

Source

Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/writer/ParquetWriter.java:361

            return SNAPPY;
        }
        else if (compressionCodecClass.equals("org.apache.hadoop.io.compress.GzipCodec")) {
            return GZIP;
        }
        else if (compressionCodecClass.equals("com.hadoop.compression.lzo.LzoCodec")) {
            return LZO;
        }
        else if (compressionCodecClass.equals("org.apache.hadoop.io.compress.BrotliCodec")) {
            return BROTLI;
        }
        else if (compressionCodecClass.equals("org.apache.hadoop.io.compress.Lz4Codec")) {
            return LZ4;
        }
        else if (compressionCodecClass.equals("org.apache.hadoop.io.compress.ZStandardCodec") ||
                compressionCodecClass.equals("org.apache.parquet.hadoop.codec.ZstandardCodec")) {
            return ZSTD;
        }
        throw new IllegalArgumentException("Invalid compressionCodec: " + compressionCodecClass);
    }

    public boolean isClosed()
    {
        return closed;
    }
}

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Use one of the supported compression codecs: SNAPPY, GZIP, LZO, BROTLI, LZ4, or ZSTD as configured for the session/writer
  2. Check the hive.compression-codec or writer session property for typos and unsupported values
  3. Add a mapping branch in getCompressionCodecName if a new codec must be supported
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/writer/ParquetWriter.java:361 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of prestodb/presto@55bb57d202 (2026-09-04). Data as JSON: /api/errors/f32f92b2df8c88eb. Report an issue: GitHub.