prestodb/presto · error · PrestoException

NOT_SUPPORTED

NOT_SUPPORTED

Error message

Unsupported Parquet writer version: %s

What it means

Validation guard in getValuesWriterFactory: the requested Parquet WriterVersion is neither PARQUET_1_0 nor PARQUET_2_0, so no ValuesWriterFactory can be selected. Fires when a table property or session setting requests an unrecognized/unsupported parquet format version.

Source

Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/writer/ParquetWriters.java:81

import static com.facebook.presto.common.type.TinyintType.TINYINT;
import static com.facebook.presto.common.type.UuidType.UUID;
import static com.facebook.presto.spi.StandardErrorCode.NOT_SUPPORTED;
import static java.lang.String.format;
import static java.util.Objects.requireNonNull;

class ParquetWriters
{
    private ParquetWriters() {}

    static ValuesWriterFactory getValuesWriterFactory(WriterVersion writerVersion)
    {
        switch (writerVersion) {
            case PARQUET_1_0:
                return new DefaultV1ValuesWriterFactory();
            case PARQUET_2_0:
                return new DefaultV2ValuesWriterFactory();
            default:
                throw new PrestoException(NOT_SUPPORTED, format("Unsupported Parquet writer version: %s", writerVersion));
        }
    }

    static List<ColumnWriter> getColumnWriters(MessageType messageType, Map<List<String>, Type> prestoTypes, ParquetProperties parquetProperties, CompressionCodecName compressionCodecName)
    {
        WriterBuilder writeBuilder = new WriterBuilder(messageType, prestoTypes, parquetProperties, compressionCodecName);
        ParquetTypeVisitor.visit(messageType, writeBuilder);
        return writeBuilder.build();
    }

    private static class WriterBuilder
            extends ParquetTypeVisitor<ColumnWriter>
    {
        private final MessageType type;
        private final Map<List<String>, Type> prestoTypes;
        private final ParquetProperties parquetProperties;
        private final CompressionCodecName compressionCodecName;
        private final ImmutableList.Builder<ColumnWriter> builder = ImmutableList.builder();

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Set parquet_writer_writer_version (or the table property) to PARQUET_1_0 or PARQUET_2_0
  2. Verify the stored table metadata has not been corrupted with an unknown version string
Defensive patterns

Strategy: validation

When it happens

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

Common situations: See trigger scenarios.

Understand the failure class

Background: Presto NOT_SUPPORTED error: what "not supported" means and how to fix it — this error's family across 3 libraries.


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