[Bugs] [Bug 1378547] New: Asynchronous Unsplit-brain still causes Input/ Output Error on system calls

bugzilla at redhat.com bugzilla at redhat.com
Thu Sep 22 17:33:05 UTC 2016


https://bugzilla.redhat.com/show_bug.cgi?id=1378547

            Bug ID: 1378547
           Summary: Asynchronous Unsplit-brain still causes Input/Output
                    Error on system calls
           Product: GlusterFS
           Version: 3.8
         Component: replicate
          Assignee: bugs at gluster.org
          Reporter: simon.turcotte-langevin at ubisoft.com
                CC: bugs at gluster.org



Description of problem:

The unsplit-brain mechanism is triggered along the self-healing mechanism.
Since the self-healing mechanism is asynchronous, so is the unsplit-brain
mechanism. Therefore, even tough the split-brain is resolved eventually, all
system calls made before this happens causes an IOE to occur. This pushes the
responsibility back to the client application, which needs to retry the system
call, which in turn cause a waste of resources.

The self-heal mechanism should still be asynchronous, but the right version of
the favorite child policy should be resolved synchronously to prevent the
Input/Output exception to occur.

Version-Release number of selected component (if applicable):
3.8.4-1

How reproducible:
Create a split-brained file and assert that the first read still always causes
an Input/Output Error.

Steps to Reproduce:
1. Set cluster.entry-self-heal to on, cluster.data-self-heal to on,
cluster.metadata-self-heal to on and cluster.favorite-child-policy to mtime
2. Create a split-brained file
3. Cat the split-brained file -> Ensure that an Input/Output Error is raised
4. Cat the file again ~1sec later -> Ensure that the file was healed

Actual results:
[root at host vol]# cat test
cat: test: Input/output error
[root at host vol]# cat test
[root at host vol]#

Expected results:
[root at host vol]# cat test
[root at host vol]#


Additional info:

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.


More information about the Bugs mailing list