[Gluster-devel] How gluster handle split-brain in the corner case from non-overlapping range lock in same file?

Ravishankar N ravishankar at redhat.com
Mon May 14 04:05:27 UTC 2018



On 05/05/2018 10:04 PM, Yanfei Wang wrote:
> Hi,
>
> https://docs.gluster.org/en/v3/Administrator%20Guide/arbiter-volumes-and-quorum/,
> said,
>
> ```
> There is a corner case even with replica 3 volumes where the file can
> end up in a split-brain. AFR usually takes range locks for the
> {offset, length} of the write. If 3 writes happen on the same file at
> non-overlapping {offset, length} and each write fails on (only) one
> different brick, then we have AFR xattrs of the file blaming each
> other.
> ```
>
> Could some body give more details on it? Any clues are welcome.

We recently (glusterfs 3.13 onward) changed AFR to take full locks for 
all writes. You can see the commit message in 
https://review.gluster.org/#/c/19218/ for details. It is a configurable 
option, so you can change it to use range locks if needed.
-Ravi
>
>
> Thanks a lot
>
> - Fei
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://lists.gluster.org/mailman/listinfo/gluster-devel



More information about the Gluster-devel mailing list