prestodb/presto · error · UnsupportedOperationException
Error decoding values in encoding:
Error message
Error decoding values in encoding:
What it means
Base-class sentinel in ParquetEncoding.getValuesReader: this encoding subclass does not implement a plain values reader (it is dictionary-only or a level-only encoding), so the call is an API misuse — the reader should have initialized the dictionary instead. Not triggered by file contents.
Source
Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/ParquetEncoding.java:226
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());
}
public ValuesReader getDictionaryBasedValuesReader(ColumnDescriptor descriptor, ValuesType valuesType, Dictionary dictionary)
{
throw new UnsupportedOperationException(" Dictionary encoding is not supported for: " + name());
}
}
View on GitHub (pinned to 55bb57d202)
Solutions
- Call initDictionary and getDictionaryBasedValuesReader for dictionary encodings
- Guard with usesDictionary() before choosing the reader path
- Fix reader branching logic in the calling code
Defensive patterns
Strategy: type-guard
When it happens
Trigger: Thrown at presto-parquet/src/main/java/com/facebook/presto/parquet/ParquetEncoding.java:226 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/25559bf32a0f093c.
Report an issue: GitHub.