static boolean hasReachedGlobalQuorum(Map<String, Integer> totalNumberInDcs,
      Map<String, Integer> currentNumberInDcs) {
    boolean hasReached = true;
    if (totalNumberInDcs.size() == currentNumberInDcs.size()) {
      for (String dcName : totalNumberInDcs.keySet()) {
        int totalNum = totalNumberInDcs.get(dcName);
        int currentNum = currentNumberInDcs.getOrDefault(dcName, 0);
        if (currentNum <= totalNum / 2) {
          hasReached = false;
          break;
        }
      }
    } else {
      hasReached = false;
    }
    return hasReached;
  }
Return true if the {@code currentNumberInDcs}'s each value has reached the quorum of corresponding value
in {@code totalNumberInDcs}.
@param totalNumberInDcs The total number of replicas in each datacenter.
@param currentNumberInDcs The current number of replicas in each datacenter.
@return true if current numbers reach the global quorum.
ambry-router/src/main/java/com/github/ambry/router/UndeleteOperationTracker.java