[Gluster-devel] Duplicate entries and other weirdness in a 3*4 volume

Niels de Vos ndevos at redhat.com
Sat Jul 19 17:50:14 UTC 2014


On Sat, Jul 19, 2014 at 10:02:33AM -0400, Benjamin Turner wrote:
> On Fri, Jul 18, 2014 at 10:43 PM, Pranith Kumar Karampuri <
> pkarampu at redhat.com> wrote:
> 
> >
> > On 07/18/2014 07:57 PM, Anders Blomdell wrote:
> >
> >> During testing of a 3*4 gluster (from master as of yesterday), I
> >> encountered
> >> two major weirdnesses:
> >>
> >>    1. A 'rm -rf <some_dir>' needed several invocations to finish, each
> >> time
> >>       reporting a number of lines like these:
> >>                 rm: cannot remove ‘a/b/c/d/e/f’: Directory not empty
> >>
> >
> This is reproducible for me when running dbench on nfs mounts.  I think I
> may have seen it on glusterfs mounts as well but it seems more reproducible
> on nfs.  I should have caught it sooner but it doesn't error out client
> side when cleaning up, and the next test I run the deletes are successful.
>  When this happens in the nfs.log I see:
> 
> This spams the log, from what I can tell it happens when dbench is creating
> the files:
> [2014-07-19 13:37:03.271651] I [MSGID: 109036]
> [dht-common.c:5694:dht_log_new_layout_for_dir_selfheal] 0-testvol-dht:
> Setting layout of /clients/client3/~dmtmp/SEED with [Subvol_name:
> testvol-replicate-0, Err: -1 , Start: 2147483647 , Stop: 4294967295 ],
> [Subvol_name: testvol-replicate-1, Err: -1 , Start: 0 , Stop: 2147483646 ],

My guess is that DHT/AFR fail to create the whole directory structure on 
all bricks (remember that directories should get created on all bricks, 
even for a dht only volume). If creating a directory fails on 
a particular brick, self-heal should pick it up... But well, maybe 
self-heal is not run when deleting directories, causing some directories 
on some bricks to be non-empty, but empty on others. It may be that this 
conflict is not handled correctly.

You could maybe test with different volumes, and narrow down where the 
issue occurs:
- a volume of one brick
- a replicate volume with two bricks
- a distribute volume with two bricks

Potentially increase the number of bricks when a 2-brick afr-only, or 
dht-only volume does not trigger the issue reliably or quickly.

> Occasionally I see:
> [2014-07-19 13:50:46.091429] W [socket.c:529:__socket_rwv] 0-NLM-client:
> readv on 192.168.11.102:45823 failed (No data available)
> [2014-07-19 13:50:46.091570] E [rpc-transport.c:485:rpc_transport_unref]
> (-->/usr/lib64/glusterfs/3.5qa2/xlator/nfs/server.so(nlm_rpcclnt_notify+0x5a)
> [0x7f53775128ea]
> (-->/usr/lib64/glusterfs/3.5qa2/xlator/nfs/server.so(nlm_unset_rpc_clnt+0x75)
> [0x7f537750e3e5] (-->/usr/lib64/libgfrpc.so.0(rpc_clnt_unref+0x63)
> [0x7f5388914693]))) 0-rpc_transport: invalid argument: this

This looks like a bug in the NFS-server, I suggest to file is 
independently from the directory tree create/delete issue.

> I'm opening a BZ now, I'll leave systems up and put the repro steps +
> hostnames in the BZ in case anyone wants to poke around.

Thanks! The NFS problem does not need any checking on the running 
system.

Niels

> 
> -b
> 
> 
> 
> >
> >>    2. After having successfully deleted all files from the volume,
> >>       i have a single directory that is duplicated in gluster-fuse,
> >>       like this:
> >>         # ls -l /mnt/gluster
> >>          total 24
> >>          drwxr-xr-x 2 root root 12288 18 jul 16.17 work2/
> >>          drwxr-xr-x 2 root root 12288 18 jul 16.17 work2/
> >>
> >> any idea on how to debug this issue?
> >>
> > What are the steps to recreate? We need to first find what lead to this.
> > Then probably which xlator leads to this.
> >
> 
> I have not seen this but I am running on a 6x2 volume.  I wonder if this
> may only happen with replica > 2?
> 
> 
> >
> > Pranith
> >
> >>
> >> /Anders
> >>
> >>
> >
> > _______________________________________________
> > Gluster-devel mailing list
> > Gluster-devel at gluster.org
> > http://supercolony.gluster.org/mailman/listinfo/gluster-devel
> >

> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at gluster.org
> http://supercolony.gluster.org/mailman/listinfo/gluster-devel


More information about the Gluster-devel mailing list