apache/hadoop · error · IllegalStateException

Cannot add child to MachineNode

Error message

Cannot add child to MachineNode

What it means

Error "Cannot add child to MachineNode" thrown in apache/hadoop.

Source

Thrown at hadoop-tools/hadoop-rumen/src/main/java/org/apache/hadoop/tools/rumen/MachineNode.java:108

   * @return the number of cores of the node.
   */
  public int getNumCores() {
    return numCores;
  }

  /**
   * Get the rack node that the machine belongs to.
   * 
   * @return The rack node that the machine belongs to. Returns null if the
   *         machine does not belong to any rack.
   */
  public RackNode getRackNode() {
    return (RackNode)getParent();
  }
  
  @Override
  public synchronized boolean addChild(Node child) {
    throw new IllegalStateException("Cannot add child to MachineNode");
  }

  /**
   * Builder for a NodeInfo object
   */
  public static final class Builder {
    private MachineNode node;
    
    /**
     * Start building a new NodeInfo object.
     * @param name
     *          Unique name of the node. Typically the fully qualified domain
     *          name.
     */
    public Builder(String name, int level) {
      node = new MachineNode(name, level);
    }

View on GitHub (pinned to 2add963021)

Solutions

  1. Only add leaf task nodes under a MachineNode's parent structure; MachineNode is a leaf and cannot have children.

When it happens

Trigger: Code attempts to add a child node to a MachineNode in a Rumen topology; machine nodes are leaves and cannot have children.

Common situations: See trigger scenarios.


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