apache/druid · error · UnsupportedOperationException
does not support getDouble()
Error message
does not support getDouble()
What it means
The CompressedBigDecimal aggregate combiner exposes its result only via getObject(); numeric accessors are unimplemented, so this UnsupportedOperationException fires when a query asks the combiner for its value as a double.
Solutions
- Use getObject() / the CompressedBigDecimal-typed accessor instead of getDouble().
- Do not wire this aggregator where a double-typed metric value is required.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregateCombinerBase.java:49 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/druid@9b90983fd2 (2026-09-07).
Data as JSON: /api/errors/9dac2564afd26e9d.
Report an issue: GitHub.
Appendix: source
Thrown at extensions-contrib/compressed-bigdecimal/src/main/java/org/apache/druid/compressedbigdecimal/aggregator/CompressedBigDecimalAggregateCombinerBase.java:49
protected CompressedBigDecimal value;
private final String className;
protected CompressedBigDecimalAggregateCombinerBase(String className)
{
this.className = className;
}
@Override
public abstract void reset(@SuppressWarnings("rawtypes") ColumnValueSelector columnValueSelector);
@Override
public abstract void fold(@SuppressWarnings("rawtypes") ColumnValueSelector columnValueSelector);
@Override
public double getDouble()
{
throw new UnsupportedOperationException(className + " does not support getDouble()");
}
@Override
public float getFloat()
{
throw new UnsupportedOperationException(className + " does not support getFloat()");
}
@Override
public long getLong()
{
throw new UnsupportedOperationException(className + " does not support getLong()");
}
@Nullable
@Override
public CompressedBigDecimal getObject()
{View on GitHub (pinned to 9b90983fd2)