{"record":{"id":"8f1a5a74aa66ab48","repo":"apache/hadoop","slug":"invalid-classname","errorCode":null,"errorMessage":"Invalid classname!","messagePattern":"Invalid classname!","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/state/StateDeserializer.java","lineNumber":51,"sourceCode":"public class StateDeserializer extends StdDeserializer<StatePair> {\n  public StateDeserializer() {\n      super(StatePair.class);\n  }\n  \n  @Override\n  public StatePair deserialize(JsonParser parser, \n                               DeserializationContext context)\n  throws IOException, JsonProcessingException {\n    ObjectMapper mapper = (ObjectMapper) parser.getCodec();\n    // set the state-pair object tree\n    ObjectNode statePairObject = (ObjectNode) mapper.readTree(parser);\n    Class<?> stateClass = null;\n    \n    try {\n      stateClass = \n        Class.forName(statePairObject.get(\"className\").textValue().trim());\n    } catch (ClassNotFoundException cnfe) {\n      throw new RuntimeException(\"Invalid classname!\", cnfe);\n    }\n    \n    String stateJsonString = statePairObject.get(\"state\").toString();\n    State state = (State) mapper.readValue(stateJsonString, stateClass);\n    \n    return new StatePair(state);\n  }\n}","sourceCodeStart":33,"sourceCodeEnd":59,"githubUrl":"https://github.com/apache/hadoop/blob/2add9630210752f88ceb1bb74eb65e37bf41da8e/hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/state/StateDeserializer.java#L33-L59","documentation":"Error \"Invalid classname!\" thrown in apache/hadoop.","triggerScenarios":"StateDeserializer reads a state entry whose stored class name cannot be resolved to a known type, e.g. due to a version or classpath mismatch.","commonSituations":"See trigger scenarios.","solutions":["Ensure the persisted state references a valid, loadable class name; regenerate the state file if it is corrupt."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2add9630210752f88ceb1bb74eb65e37bf41da8e","analyzedAt":"2026-08-22T19:55:07.957Z","schemaVersion":2},"datasetVersion":"2026-08-22T20:17:22.307Z"}