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)

Reply via email to