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

TCP: multicasting should be restricted to current members

    XMLWordPrintable

Details

    • Task
    • Resolution: Done
    • Major
    • 2.12
    • None
    • None

    Description

      In TP.down(), when TCP is used as transport, BasicTCP.sendMulticast() calls sendToAllPhysicalAddresses(). This method grabs all physical addresses from the cache and sends the message to each of them in turn.
      However, this is problematic in the following case:

      • {A,B,C}
        - C is stopped (CTRL-Z)
        - After some time, A installs view {A,B}
        - This marks C in the cache as 'removed', but the list of physical addresses is still {A,B,C}

        , so when we multicast to the group, we send to A, B and C !

      • The send to C will block at some point (as C is stopped), therefore the sending thread will block !
      • Even if we use send queues in TCP, after some time, the send queue of C will fill up and the addition to the queue will block

      SOLUTION: send a group multicast only to elements in the cache which are not marked as 'removable'.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: