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

bugzilla at redhat.com bugzilla at redhat.com
Tue Dec 13 19:01:56 UTC 2016


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

Simon Turcotte-Langevin <simon.turcotte-langevin at ubisoft.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ravishankar at redhat.com
              Flags|                            |needinfo?(ravishankar at redha
                   |                            |t.com)



--- Comment #4 from Simon Turcotte-Langevin <simon.turcotte-langevin at ubisoft.com> ---
Hello again Ravi,

We're currently testing 3.8.5-1 with the patch you've given us applied to it.
When all self-heals are on, the file is unplit-brain synchronously as expected.

However, if the self-heal is set to off, and the favorite child policy is set,
then there's a deadlock ocurring.

Steps to reproduce:

 1) gluster volume set vol cluster.entry-self-heal off
    gluster volume set vol cluster.data-self-heal off
    gluster volume set vol cluster.metadata-self-heal off
    gluster volume set vol cluster.favorite-child-policy mtime
 2) node 1:
    setfattr --name=trusted.afr.gv0-client-0 --value=0x100000000000000000000000
/brick/test
    setfattr --name=trusted.afr.gv0-client-1 --value=0x000000000000000000000000
/brick/test
    setfattr --name=trusted.afr.gv0-client-2 --value=0x000000000000000000000000
/brick/test
 3) node 2:
    setfattr --name=trusted.afr.gv0-client-0 --value=0x000000000000000000000000
/brick/test
    setfattr --name=trusted.afr.gv0-client-1 --value=0x010000000000000000000000
/brick/test
    setfattr --name=trusted.afr.gv0-client-2 --value=0x000000000000000000000000
/brick/test
 4) node 3:
    setfattr --name=trusted.afr.gv0-client-0 --value=0x000000000000000000000000
/brick/test
    setfattr --name=trusted.afr.gv0-client-1 --value=0x000000000000000000000000
/brick/test
    setfattr --name=trusted.afr.gv0-client-2 --value=0x001000000000000000000000
/brick/test
 5) cat /vol/test # Never resolves.

Expected:

 a) Unsplitbrain mechanism triggers and returns right version or;
 b) Unsplitbrain mechanism does not trigger because self heal is toggled off


For our use case, if possible, a) is preffered. This might not be possible
however, and b) should be honored.

Thanks,
Simon

-- 
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=YbS8YinCFA&a=cc_unsubscribe


More information about the Bugs mailing list