[Gluster-devel] Feature: Automagic split-brain resolution for v3.6.x

Richard Wareing rwareing at fb.com
Fri Sep 11 02:12:14 UTC 2015


Ok, one more patch and then I'm taking a break from porting for a bit :).  This one we've been using for a few years (in some form or another) and really helped allow folks embrace GlusterFS; at our scale workflows cannot be interrupted for nearly any reason...using heuristics to resolve split-brain is almost always preferable to human intervention.

Here's the patch summary from the diff; bugzilla bug @ https://bugzilla.redhat.com/show_bug.cgi?id=1262161 :

=====
Summary:
- Split-brain sucks, and generally they are trivial to resolve based on
  some very basic heuristics: time, size or majority.  This patch
  introduces cluster.favorite-child-by-[ctime|mtime|size|majority]
  options which do just this.
- It's important to note that although AFR2 has some un-split
  capabilities, they don't really handle the more common case (by our
  experience) where the change logs are truely in conflict.  This patch
  does handle these cases.
- Added A/B tests for the features such that they verify WITHOUT the
  feature enabled the file is indeed split-brained, then again test with the
  feature enabled to show it is readable and the correct file was
  chosen.  This should fix the problem where in v3.6 we falsely believed
  that split-brain resolution was implemented when in fact it was not.
====

Patches cleanly to release-3.6 branch, and with a little massaging this patch can be made to work with v3.7.x .

Enjoy!

Richard



More information about the Gluster-devel mailing list