[Gluster-devel] About split-brain-resolution.t

Emmanuel Dreyfus manu at netbsd.org
Sun Mar 29 08:53:57 UTC 2015


Pranith Kumar Karampuri <pkarampu at redhat.com> wrote:

> > I see split-brain-resolution.t uses attribute replica.split-brain-choice
> > to choose what replica should be used. This attribute is not in
> > privilegied space (trusted. prefixed). Is it on purpose?
> Yes, these are used as internal commands to make a choice when file is 
> in split-brain.

Here is how the feature is broken on NetBSD:
setting split-brain-resolution.t  causes afr inode context's spb_choice 
to be set to the desired source. That works.

But when I try to read from the file, spb_choice is -1. This is because 
in the meantime, the context has been destroyed by afr_destroy() 
and reallocated with sbp_choice set to default value -1.

Since spb_choice is not saved as an attribute for the file on the 
bricks, it cannot be recovered when the context is reallocated. Either 
that "save" feature has been forgotten, or going to afr_destroy() here 
is a bug. Here is the backtrace leading there:

0xbb751313 <_gf_msg_backtrace_nomem+0xc0> at /autobuild/install/lib/libglusterfs.so.0
0xb9b441af <afr_forget+0x89> at /autobuild/install/lib/glusterfs/3.7dev/xlator/cluster/replicate.so
0xbb771801 <gf_timer_registry_destroy+0xc58> at /autobuild/install/lib/libglusterfs.so.0
0xbb7718af <gf_timer_registry_destroy+0xd06> at /autobuild/install/lib/libglusterfs.so.0
0xbb773a38 <inode_table_set_lru_limit+0x16a> at /autobuild/install/lib/libglusterfs.so.0
0xbb771dd4 <inode_unref+0x5d> at /autobuild/install/lib/libglusterfs.so.0
0xbb277518 <fuse_lookup_resume+0x723> at /autobuild/install/lib/glusterfs/3.7dev/xlator/mount/fuse.so
0xbb277639 <fuse_lookup_resume+0x844> at /autobuild/install/lib/glusterfs/3.7dev/xlator/mount/fuse.so
0xbb28d70f <fuse_get_mount_status+0x7af> at /autobuild/install/lib/glusterfs/3.7dev/xlator/mount/fuse.so
0xbb6a2bca <__libc_thr_exit+0x1f8> at /usr/lib/libpthread.so.1



-- 
Emmanuel Dreyfus
http://hcpnet.free.fr/pubz
manu at netbsd.org


More information about the Gluster-devel mailing list