{"record":{"id":"82c6f4a737e4c43f","repo":"apache/druid","slug":"unknown-outlier-handling-mode-s","errorCode":null,"errorMessage":"Unknown outlier handling mode: %s","messagePattern":"Unknown outlier handling mode: (.+?)","errorType":"exception","errorClass":"org.apache.druid.java.util.common.ISE","httpStatus":null,"severity":"error","filePath":"extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/FixedBucketsHistogram.java","lineNumber":1172,"sourceCode":"     *\n     * Called when merging two histograms, where the histogram to be merged has upperLimit less than my lowerLimit\n     * @param otherHistogram other histogram being merged\n     */\n\n    void handleOutliersCombineDifferentBucketsAllLower(FixedBucketsHistogram otherHistogram);\n  }\n\n  private OutlierHandler makeOutlierHandler()\n  {\n    switch (outlierHandlingMode) {\n      case IGNORE:\n        return new IgnoreOutlierHandler();\n      case OVERFLOW:\n        return new OverflowOutlierHandler();\n      case CLIP:\n        return new ClipOutlierHandler();\n      default:\n        throw new ISE(\"Unknown outlier handling mode: %s\", outlierHandlingMode);\n    }\n  }\n\n  private static class IgnoreOutlierHandler implements OutlierHandler\n  {\n    @Override\n    public void handleOutlierAdd(boolean exceededMax)\n    {\n    }\n\n    @Override\n    public void simpleInterpolateMergeHandleOutliers(\n        FixedBucketsHistogram otherHistogram,\n        double rangeStart,\n        double rangeEnd\n    )\n    {\n    }","sourceCodeStart":1154,"sourceCodeEnd":1190,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/FixedBucketsHistogram.java#L1154-L1190","documentation":"Unsupported-operation sentinel: FixedBucketsHistogramAggregator accumulates histogram objects, so any query layer that tries to read the aggregate as a primitive float via getFloat() cannot be served; the aggregator only exposes its result through get() as a histogram object.","triggerScenarios":"Thrown at extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/FixedBucketsHistogram.java:1172 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Do not request a float aggregate from a fixedBucketsHistogram aggregator; use the object result or a post-aggregator such as quantile/histogram aggregators.","Change the query's aggregation output type (e.g. use a numeric aggregator for float results)."],"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"}