{"record":{"id":"e087c7a1fed3e2c0","repo":"apache/druid","slug":"unknown-class-for-object","errorCode":null,"errorMessage":"Unknown class for object: ","messagePattern":"Unknown class for object: ","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":471,"sourceCode":"   *  - base64 encoded string of {@code FixedBucketsHistogram}\n   *  - {@code FixedBucketsHistogram} object\n   *  - Numeric value\n   *\n   * @param val\n   */\n  @VisibleForTesting\n  public void combine(@Nullable Object val)\n  {\n    if (val == null) {\n      incrementMissing();\n    } else if (val instanceof String) {\n      combineHistogram(fromBase64((String) val));\n    } else if (val instanceof FixedBucketsHistogram) {\n      combineHistogram((FixedBucketsHistogram) val);\n    } else if (val instanceof Number) {\n      add(((Number) val).doubleValue());\n    } else {\n      throw new ISE(\"Unknown class for object: \" + val.getClass());\n    }\n  }\n\n  /**\n   * Merge another histogram into this one. Only the state of this histogram is updated.\n   *\n   * If the two histograms have identical buckets, a simpler algorithm is used.\n   *\n   * @param otherHistogram\n   */\n  public void combineHistogram(FixedBucketsHistogram otherHistogram)\n  {\n    if (otherHistogram == null) {\n      return;\n    }\n\n    readWriteLock.writeLock().lock();\n    otherHistogram.getReadWriteLock().readLock().lock();","sourceCodeStart":453,"sourceCodeEnd":489,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/FixedBucketsHistogram.java#L453-L489","documentation":"A type-dispatch sentinel in FixedBucketsHistogram.combine: the incoming value was neither null, String (base64), FixedBucketsHistogram, nor Number, so the aggregator cannot merge it. This indicates a malformed intermediate result or an incompatible input column type feeding the aggregator.","triggerScenarios":"Thrown at extensions-core/histogram/src/main/java/org/apache/druid/query/aggregation/histogram/FixedBucketsHistogram.java:471 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the aggregation input column contains FixedBucketsHistogram objects, base64 strings, or numbers.","Check for broker/segment data produced by an incompatible Druid version or a wrong output type from a preceding aggregator.","Re-ingest or re-merge the affected segments if intermediate storage was corrupted."],"exampleFix":null,"handlingStrategy":"type-guard","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"}