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

bugzilla at redhat.com bugzilla at redhat.com
Fri Oct 21 06:09:28 UTC 2016


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

            Bug ID: 1387501
           Summary: Asynchronous Unsplit-brain still causes Input/Output
                    Error on system calls
           Product: Red Hat Gluster Storage
           Version: 3.2
         Component: replicate
          Keywords: Triaged
          Severity: high
          Assignee: pkarampu at redhat.com
          Reporter: ravishankar at redhat.com
        QA Contact: nchilaka at redhat.com
                CC: bugs at gluster.org, pkarampu at redhat.com,
                    rhs-bugs at redhat.com, sarumuga at redhat.com,
                    simon.turcotte-langevin at ubisoft.com,
                    storage-qa-internal at redhat.com
        Depends On: 1378547
            Blocks: 1386188



+++ This bug was initially created as a clone of Bug #1378547 +++

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:


Referenced Bugs:

https://bugzilla.redhat.com/show_bug.cgi?id=1378547
[Bug 1378547] Asynchronous Unsplit-brain still causes Input/Output Error on
system calls
https://bugzilla.redhat.com/show_bug.cgi?id=1386188
[Bug 1386188] Asynchronous Unsplit-brain still causes Input/Output Error on
system calls
-- 
You are receiving this mail because:
You are on the CC list for the bug.
Unsubscribe from this bug https://bugzilla.redhat.com/token.cgi?t=DCmJZz12eY&a=cc_unsubscribe


More information about the Bugs mailing list