prestodb/presto · error · IllegalStateException

stream encoding not implemented yet

Error message

 stream encoding not implemented yet

What it means

Thrown by toColumnEncodingKind when the ORC footer's ColumnEncoding.Kind enum value has no mapping to a Presto ColumnEncodingKind. The writer used a newer/unknown encoding kind than this reader supports.

Source

Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/OrcMetadataReader.java:603

                return StreamKind.BLOOM_FILTER_UTF8;
            default:
                throw new IllegalStateException(streamKind + " stream type not implemented yet");
        }
    }

    private static ColumnEncodingKind toColumnEncodingKind(OrcProto.ColumnEncoding.Kind columnEncodingKind)
    {
        switch (columnEncodingKind) {
            case DIRECT:
                return ColumnEncodingKind.DIRECT;
            case DIRECT_V2:
                return ColumnEncodingKind.DIRECT_V2;
            case DICTIONARY:
                return ColumnEncodingKind.DICTIONARY;
            case DICTIONARY_V2:
                return ColumnEncodingKind.DICTIONARY_V2;
            default:
                throw new IllegalStateException(columnEncodingKind + " stream encoding not implemented yet");
        }
    }

    private static CompressionKind toCompression(OrcProto.CompressionKind compression)
    {
        switch (compression) {
            case NONE:
                return NONE;
            case ZLIB:
                return ZLIB;
            case SNAPPY:
                return SNAPPY;
            case LZ4:
                return LZ4;
            case ZSTD:
                return ZSTD;
            default:
                throw new IllegalStateException(compression + " compression not implemented yet");

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Regenerate the ORC file with a writer/encoding version supported by this Presto version
  2. Upgrade Presto to a version that supports the encoding kind reported in the message
  3. Verify the file is not corrupted; inspect the footer with an ORC metadata tool
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at presto-orc/src/main/java/com/facebook/presto/orc/metadata/OrcMetadataReader.java:603 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/e8d515bfcb674189. Report an issue: GitHub.