protected void pingCorrectServer(Message clientMessage, DistributedMember targetServer,
      ServerConnection serverConnection)
      throws IOException {
    if (logger.isDebugEnabled()) {
      logger.debug("Received a Ping request from {} intended for {}. Forwarding the ping...",
          serverConnection.getProxyID(), targetServer);
    }
    if (!serverConnection.getCache().getDistributionManager().isCurrentMember(targetServer)) {
      String errorMessage = "Unable to ping non-member " + targetServer + " for client "
          + serverConnection.getProxyID();
      logger.warn(errorMessage);
      writeException(clientMessage, new ServerOperationException(errorMessage), false,
          serverConnection);
      serverConnection.setAsTrue(RESPONDED);
    } else {
      // send a ping message to the server. This is a one-way message that doesn't send a reply
      final DistributedPingMessage distributedPingMessage =
          new DistributedPingMessage(targetServer, serverConnection.getProxyID());
      serverConnection.getCache().getDistributionManager().putOutgoing(distributedPingMessage);
      writeReply(clientMessage, serverConnection);
    }
  }
Process a ping request that was sent to the wrong server
geode-core/src/main/java/org/apache/geode/internal/cache/tier/sockets/command/Ping.java