[ 
https://issues.apache.org/jira/browse/GEODE-6316?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

xiaojian zhou reassigned GEODE-6316:
------------------------------------

    Assignee: xiaojian zhou

> 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
>
> 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