private void verifyConnectedAndRedundantServers(final int redundantServers) {
    if (redundantServers < 0) {
      throw new IllegalArgumentException("can't test for < 0 redundant server via API");
    }
    await(
        "Live server count didn't match expected and/or redundant server count didn't match expected in time")
            .until(() -> {
              try {
                return pool.getConnectedServerCount() == CONNECTED_SERVERS
                    && pool.getRedundantNames().size() == redundantServers;
              } catch (final NoSubscriptionServersAvailableException e) {
                // when zero connected servers are actually available, we'll see this error
              }
              return false;
            });
  }
Redundancy level specified & less than total Eps. If an EP dies & is part of the fail over list
, then it should be removed from live server map & added to dead server map. A new EP should be
picked from the Live Server Map to compensate for the failure. Failure Detection by Put
operation.
geode-core/src/distributedTest/java/org/apache/geode/internal/cache/tier/sockets/RedundancyLevelPart1DUnitTest.java