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

TransferQueueBundler: drop messages if queue is full

    Details

    • Type: Feature Request
    • Status: Resolved (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: None
    • Fix Version/s: 4.2.2, 5.0.0.Alpha4
    • Labels:
      None

      Description

      When a bundler (like TransferQueueBundler) has a full queue, the senders will block.
      This can happen for example when the TCP send blocks due to a full send-window.

      Retransmission requests and responses compound the problem when the TQB's queue is full.

      Therefore, in addition to blocking, we should add an option to drop packets when the queue is full. Investigate whether we could use some priority based scheme, which drops non-important messages first.

      Also investigate whether senders can selectively be unblocked when the queue is full, to either drop or add their messages. This could be done for example by removing elements from the queue, using the aformentioned filter.

      Look at random early detection )[1]) for inspiration.

      [1] https://en.wikipedia.org/wiki/Random_early_detection

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                belaban Bela Ban
                Reporter:
                belaban Bela Ban
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: