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

  1. Use getObject() / the CompressedBigDecimal-typed accessor instead of getDouble().
  2. 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)