{"record":{"id":"2fe2842936f7cde6","repo":"apache/druid","slug":"bloomfilteraggregator-does-not-support-getlong","errorCode":null,"errorMessage":"BloomFilterAggregator does not support getLong()","messagePattern":"BloomFilterAggregator does not support getLong\\(\\)","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":153,"sourceCode":"  }\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\n  }\n\n  @Override\n  public void inspectRuntimeShape(RuntimeShapeInspector inspector)\n  {\n    inspector.visit(\"selector\", selector);","sourceCodeStart":135,"sourceCodeEnd":171,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/BaseBloomFilterAggregator.java#L135-L171","documentation":"Sentinel guard in BaseBloomFilterAggregator: getLong() is never implemented because the aggregated value is a BloomFilter object, not a long. The exception fires when something requests the bloom-filter metric through the primitive long accessor — typically a misconfigured query or downstream consumer expecting a numeric metric.","triggerScenarios":"Thrown at extensions-core/druid-bloom-filter/src/main/java/org/apache/druid/query/aggregation/bloom/BaseBloomFilterAggregator.java:153 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use get() to obtain the BloomFilter and apply the bloom filter test filter/post-aggregator instead","Ensure the aggregator is not referenced as a long-typed metric in queries or alerts"],"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"}