apache/hadoop · error · RuntimeException

Invalid classname!

Error message

Invalid classname!

What it means

Error "Invalid classname!" thrown in apache/hadoop.

Source

Thrown at hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/state/StateDeserializer.java:51

public class StateDeserializer extends StdDeserializer<StatePair> {
  public StateDeserializer() {
      super(StatePair.class);
  }
  
  @Override
  public StatePair deserialize(JsonParser parser, 
                               DeserializationContext context)
  throws IOException, JsonProcessingException {
    ObjectMapper mapper = (ObjectMapper) parser.getCodec();
    // set the state-pair object tree
    ObjectNode statePairObject = (ObjectNode) mapper.readTree(parser);
    Class<?> stateClass = null;
    
    try {
      stateClass = 
        Class.forName(statePairObject.get("className").textValue().trim());
    } catch (ClassNotFoundException cnfe) {
      throw new RuntimeException("Invalid classname!", cnfe);
    }
    
    String stateJsonString = statePairObject.get("state").toString();
    State state = (State) mapper.readValue(stateJsonString, stateClass);
    
    return new StatePair(state);
  }
}

View on GitHub (pinned to 2add963021)

Solutions

  1. Ensure the persisted state references a valid, loadable class name; regenerate the state file if it is corrupt.

When it happens

Trigger: 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.

Common situations: See trigger scenarios.


AI-assisted analysis of apache/hadoop@2add963021 (2026-08-22). Data as JSON: /api/errors/8f1a5a74aa66ab48. Report an issue: GitHub.