{"record":{"id":"51d8024536c12328","repo":"apache/druid","slug":"bloomfilteraggregator-does-not-support-getfloat","errorCode":null,"errorMessage":"BloomFilterAggregator does not support getFloat()","messagePattern":"BloomFilterAggregator does not support getFloat\\(\\)","errorType":"exception","errorClass":"UnsupportedOperationException","httpStatus":null,"severity":"error","filePath":"extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/BaseBloomFilterAggregator.java","lineNumber":147,"sourceCode":"  }\n\n  @Override\n  public void aggregate()\n  {\n    aggregate(collector, 0);\n  }\n\n  @Nullable\n  @Override\n  public Object get()\n  {\n    return collector;\n  }\n\n  @Override\n  public float getFloat()\n  {\n    throw new UnsupportedOperationException(\"BloomFilterAggregator does not support getFloat()\");\n  }\n\n  @Override\n  public long getLong()\n  {\n    throw new UnsupportedOperationException(\"BloomFilterAggregator does not support getLong()\");\n  }\n\n  @Override\n  public double getDouble()\n  {\n    throw new UnsupportedOperationException(\"BloomFilterAggregator does not support getDouble()\");\n  }\n\n  @Override\n  public void close()\n  {\n    // nothing to close","sourceCodeStart":129,"sourceCodeEnd":165,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/BaseBloomFilterAggregator.java#L129-L165","documentation":"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.","triggerScenarios":"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.","commonSituations":"See trigger scenarios.","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"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b90983fd291f26935af934383ce360473179e4d","analyzedAt":"2026-09-07T13:32:30.957Z","contentChangedAt":"2026-09-07T13:32:30.957Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}