Bug 771773 - Enhancement: Provide client access to split-brain files
Summary: Enhancement: Provide client access to split-brain files
Keywords:
Status: CLOSED EOL
Alias: None
Product: GlusterFS
Classification: Community
Component: replicate
Version: mainline
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
Assignee: Pranith Kumar K
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-01-04 22:37 UTC by Joe Julian
Modified: 2015-10-22 15:46 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-10-22 15:46:38 UTC
Regression: ---
Mount Type: fuse
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

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.


Note You need to log in before you can comment on or make changes to this bug.