JGroups Protocol MERGE3

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

External

Internal

Relevance

  • JGroups 3.4.3 (in this version MERGE3 is broken, does not handle "re-incarnation" well)

Overview

Protocol to discover subgroups existing due to a network partition that healed.

Every member periodically broadcasts its address (UUID), logical name, physical address and ViewID information. Other members collect this information and see if the ViewIDs are different (indication of different subpartitions). If they are, the member with the lowest address (first in the sorted list of collected addresses) sends a MERGE event up the stack, which will be handled by GMS. The others do nothing.

The advantage compared to MERGE2 is that there are no merge collisions caused by multiple merges going on. Also, the INFO traffic is spread out over max_interval, and every member sends its physical address with INFO, so we don't need to fetch the physical address first.

MERGE3 works over both UDP and TCP transports.

Benefits over MERGE2

  • Good for large clusters, geared toward UDP based stacks
  • Only 1 merge in the cluster at any time

Configuration

min_interval

In milliseconds. Default: 1000.

max_interval

In milliseconds. Default: 10000.

Also See

MERGE2