@Override
  public String toString() {
    return "DataNodeConfig{" + "instanceName='" + instanceName + '\'' + ", hostName='" + hostName + '\'' + ", port="
        + port + ", datacenterName='" + datacenterName + '\'' + ", sslPort=" + sslPort + ", http2Port=" + http2Port
        + ", rackId='" + rackId + '\'' + ", xid=" + xid + ", sealedReplicas=" + sealedReplicas + ", stoppedReplicas="
        + stoppedReplicas + ", disabledReplicas=" + disabledReplicas + ", diskConfigs=" + diskConfigs
        + ", extraMapFields=" + extraMapFields + ", partiallySealedReplicas=" + partiallySealedReplicas + '}';
  }
This can be used for extra fields that are not recognized by {@link DataNodeConfigSource} but still need to be
read from or written to the source of truth. This should be used sparingly and is mainly provided for legacy
compatibility.
@return a map from field name to map-style fields.
ambry-api/src/main/java/com/github/ambry/clustermap/DataNodeConfig.java