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

NAKACK2 / UNICAST2: last message sent to self may not get delivered

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • 3.2.7, 3.3
    • None
    • None

      When A sends a message M that's received by A (M is either a multicast, or a unicast to A), and the message is dropped below NAKACK2 / UNICAST2, then A might receive M, but not deliver it if M is the last message sent.

      Scenario (for NAKACK2, but similar to UNICAST2):

      • A's table is: HD=9, HR=9
      • A sends M10
      • NAKACK2 adds M10: HD=9, HR=10 (highest-delivered is still 9, as we haven't removed M10 yet)
      • The transport drops M10
      • A sends no further messages
      • STABLE will make sure that A's HR is 10, but since no message was received, we won't remove any messages from A's table !

      --> The result is that although A received M10, it won't deliver M10 (until another message is received) !

      SOLUTION:

      • Maybe we can use the retransmit task to see if there are any unremoved messages in a table and - if so - remove them and pass them up the stack to the application.

              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: