prestodb/presto · error · PrestoException

NOT_SUPPORTED

NOT_SUPPORTED

Error message

Compression extension not supported for S3 Select: ${path}

What it means

getCompressionType inspects the path's compression codec; S3 Select only supports NONE, GZIP, and BZIP2, so any other compressed file routed through S3SelectLineRecordReader is rejected as NOT_SUPPORTED.

Source

Thrown at presto-hive/src/main/java/com/facebook/presto/hive/s3select/S3SelectLineRecordReader.java:198

            selectObjectRequest.setScanRange(scanRange);
        }

        return selectObjectRequest;
    }

    protected CompressionType getCompressionType(Path path)
    {
        CompressionCodec codec = compressionCodecFactory.getCodec(path);
        if (codec == null) {
            return CompressionType.NONE;
        }
        if (codec instanceof GzipCodec) {
            return CompressionType.GZIP;
        }
        if (codec instanceof BZip2Codec) {
            return CompressionType.BZIP2;
        }
        throw new PrestoException(NOT_SUPPORTED, "Compression extension not supported for S3 Select: " + path);
    }

    private int readLine(Text value)
            throws IOException
    {
        try {
            return retry()
                    .maxAttempts(maxAttempts)
                    .exponentialBackoff(BACKOFF_MIN_SLEEP, maxBackoffTime, maxRetryTime, 2.0)
                    .stopOn(InterruptedException.class, UnrecoverableS3OperationException.class, AbortedException.class)
                    .run("readRecordsContentStream", () -> {
                        if (isFirstLine) {
                            recordsFromS3 = 0;
                            selectObjectContent = selectClient.getRecordsContent(selectObjectContentRequest);
                            closer.register(selectObjectContent);
                            reader = new LineReader(selectObjectContent, lineDelimiter.getBytes(StandardCharsets.UTF_8));
                            closer.register(reader);
                            isFirstLine = false;

View on GitHub (pinned to 55bb57d202)

Solutions

  1. Store the data uncompressed or as GZIP/BZIP2 for S3 Select
  2. Disable S3 Select for this format so the connector reads it directly
  3. Recompress the source files
Defensive patterns

Strategy: type-guard

When it happens

Trigger: Thrown at presto-hive/src/main/java/com/facebook/presto/hive/s3select/S3SelectLineRecordReader.java:198 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/249cbbed7914b3df. Report an issue: GitHub.