[ https://issues.apache.org/jira/browse/GEODE-6316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated GEODE-6316: ---------------------------------- Labels: pull-request-available (was: ) > 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 > Assignee: xiaojian zhou > Priority: Major > Labels: pull-request-available > > 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)