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

Non-blocking flow control

    XMLWordPrintable

Details

    • Feature Request
    • Status: Resolved (View Workflow)
    • Major
    • Resolution: Done
    • None
    • 4.0.4
    • None

    Description

      Sending a message through FlowControl (UFC, MFC) should not block if Message.Flag.NB_FC (non-blocking flow control) is set.

      Instead, the message should be added to a queue (bounded if max_size > 0, else unbounded). The max queue size is given in bytes, so we can estimate what the memory penalty for reaching that size would be (if bounded).

      The queued messages are sent when credits arrive. TBD: when credits arrive, should blocked threads or queued messages be released first?

      Non-blocking flow control can be used by both external and internal threads.

      If the queue is unbounded, then it is the responsibility of the application (e.g. Infinispan) to make sure the queue doesn't grow to an untenable size.

      Attachments

        Activity

          People

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

            Dates

              Created:
              Updated:
              Resolved: