{"record":{"id":"608bc6d51f354717","repo":"apache/druid","slug":"expected-string-with-a-number-received-value","errorCode":null,"errorMessage":"Expected string with a number, received value: \" + objString","messagePattern":"Expected string with a number, received value: \" \\+ objString","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"extensions-contrib/ddsketch/src/main/java/org/apache/druid/query/aggregation/ddsketch/DDSketchComplexMetricSerde.java","lineNumber":69,"sourceCode":"      @Override\n      public Object extractValue(final InputRow inputRow, final String metricName)\n      {\n        final Object obj = inputRow.getRaw(metricName);\n        if (obj == null || obj instanceof Number || obj instanceof DDSketch) {\n          return obj;\n        }\n        if (obj instanceof String) {\n          String objString = (String) obj;\n          if (objString.isEmpty()) {\n            return null;\n          }\n\n          try {\n            Double doubleValue = Double.parseDouble(objString);\n            return doubleValue;\n          }\n          catch (NumberFormatException e) {\n            throw new IAE(\"Expected string with a number, received value: \" + objString);\n          }\n\n        }\n\n        return DDSketchUtils.deserialize(obj);\n      }\n    };\n  }\n\n  @Override\n  public ObjectStrategy<DDSketch> getObjectStrategy()\n  {\n    return STRATEGY;\n  }\n}\n","sourceCodeStart":51,"sourceCodeEnd":85,"githubUrl":"https://github.com/apache/druid/blob/9b90983fd291f26935af934383ce360473179e4d/extensions-contrib/ddsketch/src/main/java/org/apache/druid/query/aggregation/ddsketch/DDSketchComplexMetricSerde.java#L51-L85","documentation":"extractValue accepts null, Number and DDSketch values and parses numeric strings; a non-numeric string reaches the NumberFormatException branch and is rethrown with this message naming the offending raw value.","triggerScenarios":"Thrown at extensions-contrib/ddsketch/src/main/java/org/apache/druid/query/aggregation/ddsketch/DDSketchComplexMetricSerde.java:69 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the input column contains numbers or numeric strings.","Fix the ingestion/parser config so non-numeric values never reach this metric, or pre-filter them."],"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"}