[ 
https://issues.apache.org/jira/browse/GEODE-3948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16339465#comment-16339465
 ] 

Bruce Schuchardt commented on GEODE-3948:
-----------------------------------------

Investigation notes:

Revision history from the old gemfire repo has this comment from Barry Oglesby 
about the ping messages:

 

{{"added a server to client ping message to prevent idle subscription 
connections from being dropped by the firewall"}}

On the server Ping messages are sent once every 60,000 milliseconds by a task 
scheduled in a Timer.  The interval can be adjusted with the system property 
"gemfire.serverToClientPingPeriod".  There are no other references to this 
property in the repo and no tests were included in the original commit.

The client knows nothing about the ping interval setting in the server, so it 
has no concept that it could miss Ping messages.

The client reads Ping messages in CacheClientUpdater and ignores them.

 

> Improve CQ performance under flaky network conditions
> -----------------------------------------------------
>
>                 Key: GEODE-3948
>                 URL: https://issues.apache.org/jira/browse/GEODE-3948
>             Project: Geode
>          Issue Type: Improvement
>          Components: cq, messaging
>            Reporter: Galen O'Sullivan
>            Assignee: Galen O'Sullivan
>            Priority: Minor
>
> Client CQ connections occasionally stop receiving messages and become blocked 
> indefinitely. 
> This can be caused by a server that hangs or dies without sending a close 
> message, or by some firewalls. 
> The client already gets ping messages from the server, but currently ignores 
> them. Let's use those messages to detect a failed connection and close it.
> Probably the client should follow the same logic and send ping messages if it 
> has sent no acks for a while, so that the server can also detect and close a 
> broken connection.
> The timeout could be specified as a number and time interval, the ping 
> interval and the number of missed pings after which to fail.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to