apache/hadoop · error · IOException

Incompatible build versions: active name-node BV = {nsInfo.g

Error message

Incompatible build versions: active name-node BV = {nsInfo.getBuildVersion()}; backup node BV = {Storage.getBuildVersion()}

What it means

Error "Incompatible build versions: active name-node BV = {nsInfo.getBuildVersion()}; backup node BV = {Storage.getBuildVersion()}" thrown in apache/hadoop.

Source

Thrown at hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/BackupNode.java:424

      LOG.error(msg);
      throw new IOException(msg); // stop the node
    }
    nnRpcAddress = nnReg.getAddress();
  }

  // TODO: move to a common with DataNode util class
  private static NamespaceInfo handshake(NamenodeProtocol namenode)
  throws IOException, SocketTimeoutException {
    NamespaceInfo nsInfo;
    nsInfo = namenode.versionRequest();  // throws SocketTimeoutException 
    String errorMsg = null;
    // verify build version
    if( ! nsInfo.getBuildVersion().equals( Storage.getBuildVersion())) {
      errorMsg = "Incompatible build versions: active name-node BV = " 
        + nsInfo.getBuildVersion() + "; backup node BV = "
        + Storage.getBuildVersion();
      LOG.error(errorMsg);
      throw new IOException(errorMsg);
    }
    assert HdfsServerConstants.NAMENODE_LAYOUT_VERSION == nsInfo.getLayoutVersion() :
      "Active and backup node layout versions must be the same. Expected: "
      + HdfsServerConstants.NAMENODE_LAYOUT_VERSION + " actual "+ nsInfo.getLayoutVersion();
    return nsInfo;
  }

  @Override
  protected String getNameServiceId(Configuration conf) {
    return DFSUtil.getBackupNameServiceId(conf);
  }

  @Override
  protected HAState createHAState(Configuration conf) {
    return new BackupState();
  }

  @Override // NameNode

View on GitHub (pinned to 2add963021)

Solutions

  1. Upgrade the BackupNode to the same Hadoop build version as the active NameNode.
  2. Do not mix different Hadoop versions between active and backup NameNodes.

When it happens

Trigger: BackupNode handshake with the active NameNode when the two run incompatible build versions.

Common situations: See trigger scenarios.


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