remove-unresponsive-clientproperty in gemfire.properties file
maximum-message-countin cache.xml file
As stated in the User's Guide, the "remove-unresponsive-client" property does the following:
|When this property is set to true, the primary server drops unresponsive clients from itself, as well as, all secondaries. Clients are deemed unresponsive when their messaging queues become full on the server. While a client's queue is full, puts that would add to the queue block on the server.|
This articles provides a more detailed description of how GemFire behaves with respect to this property, when
maximum-message-count is configured in the cache.xml (for instance, to deal with very slow or unresponsive clients).
In the default case, where
remove-unresponsive-client=false, all the region operations that produce messages to clients (such as
put) are blocked until additional space for the new message becomes available in the client queue. Hence, messages are not lost, but the performance of region operations may be negatively affected by slow or unresponsive clients.
In the case where
remove-unresponsive-client=true, the client queues (CacheClientProxy) of problem clients are cleared and removed, and region operations are not blocked. Additionally, these clients lose their connections to the servers, so healthy clients should begin failover and try to reconnect. Queued messages are lost, but a healthy client can reconnect and resume receiving any new messages.
remove-unresponsive-client property works in conjunction with the
maximum-message-count cache.xml attribute to manage the trade-off between reliability and performance in the presence of slow or unresponsive clients.
An alternate approach, where unsent messages are overflowed to disks, is discussed in the following document: Limit the Server's Subscription Queue Memory Use .