public int getBackupMasterInfoPort(final ServerName sn) {
    String backupZNode =
      ZNodePaths.joinZNode(watcher.getZNodePaths().backupMasterAddressesZNode, sn.toString());
    try {
      byte[] data = ZKUtil.getData(watcher, backupZNode);
      final ZooKeeperProtos.Master backup = parse(data);
      if (backup == null) {
        return 0;
      }
      return backup.getInfoPort();
    } catch (Exception e) {
      LOG.warn("Failed to get backup master: " + sn + "'s info port.", e);
      return 0;
    }
  }
Get the info port of the backup master if it is available. Return 0 if no backup master or
zookeeper is unavailable
@param sn server name of backup master
@return info port or 0 if timed out or exceptions
hbase-zookeeper/src/main/java/org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.java