@Override
  public boolean hasFailed() {
    return hasReachedAnyLocalQuorum(numReplicasInDcs, numFailureInDcs);
  }
Constructs an {@link UndeleteOperationTracker}
@param routerConfig The {@link RouterConfig} containing the configs for operation tracker.
@param partitionId The partition on which the operation is performed.
@param originatingDcName name of originating DC whose replicas should be tried first.
@param routerMetrics
ambry-router/src/main/java/com/github/ambry/router/UndeleteOperationTracker.java