Comment 2 for bug 1062563

Revision history for this message
Brian Fraser (fraserbn) wrote :

Hopefully launchpad will actually submit this this time around. Here's the original commit message of the fix in thew new branch, which summarizes what it does:

  This commit adds two warnings; one for the case of master -> cluster,
  and one for cluster1 -> cluster2.
  The code that checks if two nodes belong to the same cluster
  is "best effort" -- it will generally DTRT, but will fail in
  the case that all of the following are true:
   * Both nodes have the same cluster name
   * They aren't in a master-slave relationship
   * Both nodes have a different wsrep_cluster_address,
     or both of their addresses aren't 'gcom://'; that is,
     they both aren't the first node of a cluster.

  Which can happen in the case that
  Cluster 1 (pt_cluster_name):
   node1 -> addr points to node2
   node2 -> addr points to node3
   node3 -> addr points to node1

  Cluster 2 (pt_cluster_name):
   _node1 -> addr points to _node2
   _node2 -> addr points to _node3
   _node3 -> addr points to _node1

  node1 is a master to _node1.
  The dsns table has all of the nodes.

  ptc will think that cluster 2 is only _node1, and cluster 1
  is everything else. Further heuristics could check if we've
  seen a second cluster and check the addresses from there,
  but isn't currently worth the effort.