gluster-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gluster-devel] 3.5.1qa4 performances


From: Pranith Kumar Karampuri
Subject: Re: [Gluster-devel] 3.5.1qa4 performances
Date: Thu, 26 Dec 2013 00:58:59 -0500 (EST)

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 <address@hidden>
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.

Pranith
----- Original Message -----
> From: "Emmanuel Dreyfus" <address@hidden>
> To: "Pranith Kumar Karampuri" <address@hidden>
> Cc: address@hidden
> Sent: Thursday, December 26, 2013 11:22:45 AM
> Subject: Re: [Gluster-devel] 3.5.1qa4 performances
> 
> Emmanuel Dreyfus <address@hidden> 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
> address@hidden
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]