xiaojian zhou created GEODE-6316: ------------------------------------ Summary: When socket is closed in proxy, should ping to verify its connection status Key: GEODE-6316 URL: https://issues.apache.org/jira/browse/GEODE-6316 Project: Geode Issue Type: Bug Components: client/server Reporter: xiaojian zhou
When client's socket was closed, the server's socket.isConnected() will still be true if there's no msg is sent to it. So to verify if a proxy is still alive, we should ping it. The original checking code "if (staleClientProxy.isConnected() && staleClientProxy.getSocket().isConnected())" was introduced in GEODE-1183. While the idea of GEODE-1183 is still valid, this checking logic is not mature. When a client's socket is closed, and it tried to reconnect, it could fail with "A previous connection attempt from this client is still being processed:" and cannot connect. The fix is to send a PING msg to an existing proxy. If failed, the PING msg will automatically close the proxy. -- This message was sent by Atlassian JIRA (v7.6.3#76005)