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

STOP_FLUSH race condition in 2.x

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 2.6.23
    • 2.6.21
    • None

      There is a race condition in STOP_FLUSH when a node joins the cluster.

      JOINER sends JOIN_REQ to MASTER
      MASTER does a flush on the existing members (does NOT include JOINER)
      MASTER sends JOIN_RSP
      MASTER sends STOP_FLUSH

      JOINER receives JOIN_RSP
      JOINER fetches state, sends START_FLUSH
      JOINER receives STOP_FLUSH from MASTER (does not apply, since JOINER was not part of the original FLUSH)

      onStopFlush never verifies that the current node was part of the FLUSH, and therefore is valid for the current node.
      This STOP_FLUSH corrupts JOINER's FLUSH by resetting all the member variables (and probably unblocking as well).

              rhn-support-dereed Dennis Reed
              rhn-support-dereed Dennis Reed
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: