private boolean hasFailedRemotely() {
    // If we have exceeded the number of attempts to remote colos, we should give up and return success to the client.
    // This situation may occur at times of excessive network latency, where we may end up issuing a large number of
    // retries to remote colos. This is undesirable, since it will lead to excessive direct memory usage (incident-1455).
    if (remoteAttempts >= remoteAttemptLimit) {
      return false;
    } else if ((remoteReplicaSuccessCount + remoteInflightCount + remoteReplicas.size()) < remoteReplicaSuccessTarget) {
      logger.error("Paranoid durability PUT failed in remote data centers for partition " + partitionId);
      routerMetrics.paranoidDurabilityFailureCount.inc();
      return true;
    }
    return false;
  }
Check if the operation has failed remotely (i.e. in the remote data centers).
@return true if we have received enough failed responses from remote replicas that the operation cannot possibly
succeed, false otherwise.
ambry-router/src/main/java/com/github/ambry/router/ParanoidDurabilityOperationTracker.java