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

SEQUENCER: incorrect order of delivery when thread pool is used

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Do
    • Icon: Major Major
    • 2.6.5, 2.7
    • None
    • None
    • Medium
    • Hide

      Use a thread pool of only 1 (max)

      Show
      Use a thread pool of only 1 (max)

      SEQUENCER was written before the concurrent stack was added. We forgot to add a lock (similar to NAKACK and UNICAST) to it, so currently we have unordered delivery when a thread pool is used.

      SOLUTION: acquire a lock before removing a message from the SeqnoTable and release the lock on delivery. The lock cannot be per sender, but has to be for all the senders because we have total (global) ordering requirements.

            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: