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

RSVP: add option to not block caller

    XMLWordPrintable

Details

    • Feature Request
    • Status: Resolved (View Workflow)
    • Minor
    • Resolution: Done
    • None
    • 3.6
    • None

    Description

      In RSVP we have a resend_interval at which empty messages are sent to trigger retransmission and a timeout which is the max time a caller will block until all acks have been received.
      In the down() method, the caller blocks until all acks have been received or a timeout occured. Then the resend task is stopped and the entry removed from the ids map.
      In some cases, we may want to not block the caller, so that the calling thread returns immediately, but nevertheless perform resending until all acks have been received or the timeout occurred. This is a new property block.
      An example of where this is useful is RpcDispatcher.callRemoteMethodsWithFuture(): here, we want the call to return immediately with a future, and then - later - potentially block on it. However, if we have the RSVP flag set, then sending the message will block in RSVP until all acks have been received. This breaks the semantics of callRemoteMethodsWithFuture().
      Another example is async RPCs (mode=GET_NONE); here we'd block if RSVP is set even though we shouldn't.

      Attachments

        Activity

          People

            rhn-engineering-bban Bela Ban
            rhn-engineering-bban Bela Ban
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: