private void assignMetaReplica(int replicaId)
    throws IOException, KeeperException, InterruptedException {
    errors.reportError(ERROR_CODE.NO_META_REGION,
      "hbase:meta, replicaId " + replicaId + " is not found on any region.");
    if (shouldFixAssignments()) {
      errors.print("Trying to fix a problem with hbase:meta..");
      setShouldRerun();
      // try to fix it (treat it as unassigned region)
      RegionInfo h = RegionReplicaUtil
        .getRegionInfoForReplica(RegionInfoBuilder.FIRST_META_REGIONINFO, replicaId);
      HBaseFsckRepair.fixUnassigned(admin, h);
      HBaseFsckRepair.waitUntilAssigned(admin, h);
    }
  }
Check values in regionInfo for hbase:meta Check if zero or more than one regions with
hbase:meta are found. If there are inconsistencies (i.e. zero or more than one regions pretend
to be holding the hbase:meta) try to fix that and report an error.
@throws IOException from HBaseFsckRepair functions
hbase-server/src/main/java/org/apache/hadoop/hbase/util/HBaseFsck.java