Bug 771773

Summary: Enhancement: Provide client access to split-brain files
Product: [Community] GlusterFS Reporter: Joe Julian <joe>
Component: replicateAssignee: Pranith Kumar K <pkarampu>
Status: CLOSED EOL QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: mainlineCC: bugs, david, gluster-bugs, jdarcy
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-10-22 15:46:38 UTC Type: ---
Regression: --- Mount Type: fuse
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Joe Julian 2012-01-04 22:37:38 UTC
When a split brain has been detected, it is up to the administrator to determine which revision is correct and delete the remaining copies. This leaves the split-brained file unusable until the admin is notified and completes the repair.

By adding a method to access each copy directly, this task could easily be delegated or, at the admin's discretion, automated.

I propose an option to enable split-brain client access and an option for a directory in which to map those files, ie:

split-brain-client-access=true
split-brain-access-path=/split+brain

When a split-brain is detected, afr would create a sticky bit link file in $split-brain-access/$server.hostname/path/filename that points to the split-brained file.

The client may then examine each of the files in that path and remove the invalid copies. When only one remains, the split-brain is resolved and the link is removed.

Comment 1 David Strauss 2012-01-05 00:48:50 UTC
Awesome! Just to provide an example of a similar system, Microsoft Windows provides a "Sync Center" to resolve these sorts of issues:

http://windows.microsoft.com/en-US/windows-vista/Resolving-sync-conflicts-frequently-asked-questions

It's much more Unix-y to expose resolvable conflicts through a "split+brain" pseudo-directory, but an out-of-band method might allow better desktop integration if there's a good way to subscribe to conflict events (so, say, GNOME Shell can pop up a bubble telling me I have some choosing to do). A real API might also allow creating a friendly UI that knows where the resolved file should go and allows choosing whether to inform the other user.

Of course, you could have both a "split+brain" pseudo-directory and a high-level API, but then you have to do nearly twice the work.

Comment 2 Jeff Darcy 2012-10-26 21:08:14 UTC
It's not quite as elegant, but http://review.gluster.org/4132 at least allows the contents of a split-brain file to be examined and then a winner chosen all from a client (i.e. without needing to look at the bricks on the servers).

Comment 3 Kaleb KEITHLEY 2015-10-22 15:46:38 UTC
because of the large number of bugs filed against mainline version\ is ambiguous and about to be removed as a choice.

If you believe this is still a bug, please change the status back to NEW and choose the appropriate, applicable version for it.