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

NAKACK2: message with DONT_LOOPBACK set can lead to OOME

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 5.2.1, 4.2.21
    • None
    • None
    • False
    • False

      When a message is sent with DONT_LOOPBACK set, it is added to the retransmission table and then, all messages with DONT_LOOPBACK are removed, until a null (missing) message is found, or a message without the DONT_LOOPBACK flag set is found.
      However, this stops the removal, e.g. in the following case:
      M1 (DL set)
      M2 (DL set)
      M3
      M4
      M5 (DL set)

      In this example, only messages M1 and M2 are removed!
      The result is that the highest-delivered (HD) counter lags way behind the highest-received (HR) counter, and we start accummulating memory! Also, a low HD slows down message garbage collection (STABLE).

      The effect is that - when sending a lot of DL messages - memory is accumulated in the send table of NAKACK, and that can lead to OOME.

      Fix: the dont_loopback filter to remove messages in NAKACK2 needs to include mesages with DUMMY_OOB and OOB_DELIVERED flags.

      Also fix in UNICAST3.

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

              Created:
              Updated:
              Resolved: