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

UNICAST: multiple SEND_FIRST_SEQNO messages cause message loss

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.6.10.merge, 2.8
    • None
    • None

      If we have A and B:
      A: 5 6 7 8 9 and
      B: -

      • A sends #5 - # 9 to B, then B will send a SEND_FIRST_SEQNO to A per message for a total of 5
      • A resends #5 with a conn-id of (say) 322649
      • B creates the receiver window for A with conn-id=322649 and adds #5, then removes it and acks #5
      • A receives an ack for #5 and removes #5 from it sender window
      • A then receives the next (stale) SEND_FIRST_SEQNO request
      • A now resends #6 with a conn-id=322649
        ---> B drops #6 (and all subsequent messages) with conn-id=322649 !

      ==> The simple solution is to not drop messages with a conn-id if the receiver window already exists and the conn-ids match

      Potential issue: what if we re-send #6 with conn-id=322649 before #5 with conn-id=322649 ?

      • A message on the sender side is only removed if it received an ACK from the receiver
      • Reception of an ACK means the receiver window was created
      • When we receive ACK(5), that means we created a receiver window on B with conn-id=322649 and added #5
      • Therefore the re-sending of #6 with conn-id=322649 will never happen before the receiver window on B is created for #5 and conn-id=322649 !

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

                Created:
                Updated:
                Resolved: