Uploaded image for project: 'JGroups'
  1. JGroups
  2. JGRP-1213

GossipRouter: introduce pinging to detect terminated virtualized clients

    XMLWordPrintable

Details

    • Feature Request
    • Resolution: Done
    • Major
    • 2.10
    • None
    • None
    • 0
    • 0% 0%

    Description

      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.

      Attachments

        Activity

          People

            vblagoje Vladimir Blagojevic (Inactive)
            rhn-engineering-bban Bela Ban
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: