prestodb/presto · error · ParquetDecodingException
Unsupported values type:
Error message
Unsupported values type:
What it means
Sentinel guard in getMaxLevel: the ValuesType argument (repetition level, definition level, or values) is not one of the enumerated cases, so the max bit-width for level encoding cannot be determined. In practice only a caller bug or a new unhandled ValuesType reaches this.
Source
Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/ParquetEncoding.java:209
return true;
}
};
static final int INT96_TYPE_LENGTH = 12;
static int getMaxLevel(ColumnDescriptor descriptor, ValuesType valuesType)
{
switch (valuesType) {
case REPETITION_LEVEL:
return descriptor.getMaxRepetitionLevel();
case DEFINITION_LEVEL:
return descriptor.getMaxDefinitionLevel();
case VALUES:
if (descriptor.getType() == BOOLEAN) {
return 1;
}
default:
throw new ParquetDecodingException("Unsupported values type: " + valuesType);
}
}
public boolean usesDictionary()
{
return false;
}
public Dictionary initDictionary(ColumnDescriptor descriptor, DictionaryPage dictionaryPage)
throws IOException
{
throw new UnsupportedOperationException(" Dictionary encoding is not supported for: " + name());
}
public ValuesReader getValuesReader(ColumnDescriptor descriptor, ValuesType valuesType)
{
throw new UnsupportedOperationException("Error decoding values in encoding: " + this.name());
}View on GitHub (pinned to 55bb57d202)
Solutions
- Fix the caller to pass REPETITION_LEVEL, DEFINITION_LEVEL or VALUES
- Add a case for the new ValuesType if extending the reader
- Update Presto if caused by an internal regression
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/ParquetEncoding.java:209 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/e026a07fd63bc8f2.
Report an issue: GitHub.