public Pair<Boolean, Map<File, DumpIndexTool.IndexProcessingResults>> checkConsistency(File[] replicas)
      throws Exception {
    Map<File, DumpIndexTool.IndexProcessingResults> results =
        dumpIndexTool.processIndex(new HashSet<>(Arrays.asList(replicas)), filterSet, 1, true);
    boolean success = true;
    for (DumpIndexTool.IndexProcessingResults result : results.values()) {
      if (!result.isIndexSane()) {
        success = false;
        break;
      }
    }
    if (success) {
      Map<StoreKey, ReplicationStatus> blobIdToStatusMap = getBlobStatusByReplica(replicas, results);
      success = checkConsistency(blobIdToStatusMap, replicas.length).size() == 0;
    }
    return new Pair<>(success, results);
  }
Checks for consistency b/w {@code replicas} by comparing their index processing results and determining replication
status.
@param replicas the replicas b/w which consistency has to be checked
@return a pair whose first element is a {@link Boolean} indicating consistency ({@code true} if consistent,
{@code false} otherwise) and the second element is a map from replica to the index processing results.
@throws Exception
ambry-tools/src/main/java/com/github/ambry/store/ConsistencyCheckerTool.java