[Gluster-devel] 3.5.1qa4 performances
Pranith Kumar Karampuri
pkarampu at redhat.com
Thu Dec 26 06:49:33 UTC 2013
----- Original Message -----
> From: "Pranith Kumar Karampuri" <pkarampu at redhat.com>
> To: "Emmanuel Dreyfus" <manu at netbsd.org>
> Cc: gluster-devel at nongnu.org
> Sent: Thursday, December 26, 2013 11:28:59 AM
> Subject: Re: [Gluster-devel] 3.5.1qa4 performances
>
> Emmanuel,
> When files are created and deleted even before self-heal completes,
> stale index files will be left in .glusterfs/indices/xattrop directory.
> Self-heal-daemon is supposed to delete these stale indices.
> Self-heal-daemon figures out that these indices are stale by checking
> if the op_errno on the lookup is ENOENT. But now it could return ESTALE
> with the following patch. So the stale index file remains and lookups
> keep on happening forever.
>
> This is the patch which introduced the change in behavior:
>
> commit d1879d04e39258ea25a49eed3244b395d4af2c1d
> Author: Anand Avati <avati at redhat.com>
> Date: Thu Nov 21 06:48:17 2013 -0800
>
> core: fix errno for non-existent GFID
>
> When clients refer to a GFID which does not exist, the errno to
> be returned in ESTALE (and not ENOENT). Even though ENOENT might
> look "proper" most of the time, as the application eventually expects
> ENOENT even if a parent directory does not exist, not returning
> ESTALE results in resolvers (FUSE and GFAPI) to not retry resolution
> in uncached mode. This can result in spurious ENOENTs during
> concurrent path modification operations.
Sent the fix for both master and 3.5
http://review.gluster.com/6593
http://review.gluster.com/6592
Pranith
>
> Pranith
> ----- Original Message -----
> > From: "Emmanuel Dreyfus" <manu at netbsd.org>
> > To: "Pranith Kumar Karampuri" <pkarampu at redhat.com>
> > Cc: gluster-devel at nongnu.org
> > Sent: Thursday, December 26, 2013 11:22:45 AM
> > Subject: Re: [Gluster-devel] 3.5.1qa4 performances
> >
> > Emmanuel Dreyfus <manu at netbsd.org> wrote:
> >
> > > I search .glusterfs/cf/1b/cf1bdf4f-b71c-4fda-963d-b7e4547e1b7c on each
> > > bricks: it does not exist anywhere. I tried with other "Stale NFS file
> > > handle" messages, and the file never exists in glusterfs index tree.
> >
> > I suspect it has something to do with that warning on client log, which
> > happens
> > once:
> >
> > [2013-12-25 06:04:00.111064] W
> > [client-rpc-fops.c:1744:client3_3_xattrop_cbk]
> > 0-gfs351-client-0: remote operation failed: Undefined error: 0. Path:
> > /manu/usr/src/games/backgammon/common_source/obj/one.o
> > (cf1bdf4f-b71c-4fda-963d-b7e4547e1b7c)
> >
> > Althought the index does not exist, the file does:
> > silo:/export/wd2a//manu/usr/src/games/backgammon/common_source/obj/one.o
> > hangar:/export/wd1a//manu/usr/src/games/backgammon/common_source/obj/one.o
> >
> > Both have same extended attributes:
> >
> > trusted.afr.gfs351-client-0
> > 000 00 00 00 00 00 00 00 00 00 00 00 00 ............
> > trusted.afr.gfs351-client-1
> > 000 00 00 00 00 00 00 00 00 00 00 00 00 ............
> > trusted.afr.gfs351-gfid
> > 000 da 17 69 27 49 8f 4d e6 99 2b 53 25 be 9d 11 a3
> > ..i'I.M..+S%....
> >
> > For parent directory, trusted.gfid is the same on all bricks.
> > trusted.glusterfs.dht it:
> > silo:/export/wd2a//manu/usr/src/games/backgammon/common_source/obj
> > 000 00 00 00 01 00 00 00 00 00 00 00 00 7f ff ff fe ...............
> > hangar:/export/wd1a//manu/usr/src/games/backgammon/common_source/obj
> > 000 00 00 00 01 00 00 00 00 00 00 00 00 7f ff ff fe ...............
> > hangar:/export/wd3a//manu/usr/src/games/backgammon/common_source/obj
> > 000 00 00 00 01 00 00 00 00 7f ff ff ff ff ff ff ff ...............
> > debacle:/export/wd1a//manu/usr/src/games/backgammon/common_source/obj
> > 000 00 00 00 01 00 00 00 00 7f ff ff ff ff ff ff ff ...............
> >
> > --
> > Emmanuel Dreyfus
> > http://hcpnet.free.fr/pubz
> > manu at netbsd.org
> >
>
More information about the Gluster-devel
mailing list