apache/druid · error · UnsupportedOperationException
BloomFilterAggregator does not support getFloat()
Error message
BloomFilterAggregator does not support getFloat()
What it means
This is a sentinel guard: a bloom filter has no single float representation, so BaseBloomFilterAggregator.getFloat() unconditionally throws UnsupportedOperationException. It fires when the aggregation result is requested through the primitive float accessor rather than the object accessor.
Solutions
- Access the bloom filter through get() and use it with the bloom-filter post-aggregators/filters
- Remove any configuration that treats the bloom filter aggregator as a numeric (float) metric
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/BaseBloomFilterAggregator.java:147 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/51d8024536c12328.
Report an issue: GitHub.
Appendix: source
Thrown at extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/BaseBloomFilterAggregator.java:147
}
@Override
public void aggregate()
{
aggregate(collector, 0);
}
@Nullable
@Override
public Object get()
{
return collector;
}
@Override
public float getFloat()
{
throw new UnsupportedOperationException("BloomFilterAggregator does not support getFloat()");
}
@Override
public long getLong()
{
throw new UnsupportedOperationException("BloomFilterAggregator does not support getLong()");
}
@Override
public double getDouble()
{
throw new UnsupportedOperationException("BloomFilterAggregator does not support getDouble()");
}
@Override
public void close()
{
// nothing to closeView on GitHub (pinned to 9b90983fd2)