]
Vladimir Blagojevic commented on JGRP-1213:
-------------------------------------------
Reintroduced expiryTimeout in GossipRouter. By default it is 0 and hence no connection
reaping is done. This value should be sufficiently larger (say 60 sec) than reconnection
interval on client side (default 5 sec).
GossipRouter: introduce pinging to detect terminated virtualized
clients
------------------------------------------------------------------------
Key: JGRP-1213
URL:
https://jira.jboss.org/browse/JGRP-1213
Project: JGroups
Issue Type: Feature Request
Reporter: Bela Ban
Assignee: Vladimir Blagojevic
Fix For: 2.10
When we have virtualized instances, powering them down means in some cases that the
instance is simply stopped, and no shutdown scripts (e.g. in /etc/rc0.d) are run. Examples
are vmware ("power off") and EC2 ("terminate"). Another example is a
hung client.
This is the equivalent of pulling the plug on a physical box: no TCP connections will be
closed.
This poses a problem for the GossipRouter because it only removes clients when they close
their sockets.
I suggest we re-introduce pinging, similar to what we used to do for older versions.
RouterStub:
- When connected, periodically send a PING request (this already exists
(GossipRouter.PING)); this could be scheduled as a task
- When disconnected and the reconnector task is running, don't send the PING
GossipRouter:
- When a PING is received, update the ConnectionHandler's timestamp
- Run a periodic task which iterates over all connections and closes connections which
are older than TIMEOUT milliseconds
Adding this functionality to GossipRouter is important, as GossipRouter is used together
with TCPGOSSIP to run JBoss AS in cloud environments, where virtualized instances are
regularly powered down or terminated without running shutdown scripts or closing sockets.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: