static boolean isPrimaryRecoveryNeeded(final ConnectionList queueConnectionList) {
    if (queueConnectionList != null) {
      final Connection primaryConnection = queueConnectionList.getPrimary();
      if (primaryConnection != null) {
        return primaryConnection.isDestroyed();
      }
    }
    return true;
  }
Find a new primary, adding any failed servers we encounter to the excluded servers list

First we try to make a backup server the primary, but if run out of backup servers we will try
to find a new server.
geode-core/src/main/java/org/apache/geode/cache/client/internal/QueueManagerImpl.java