Bug 1436090

Summary: When parallel readdir is enabled, linked to file resolution fails
Product: [Community] GlusterFS Reporter: Poornima G <pgurusid>
Component: unclassifiedAssignee: Poornima G <pgurusid>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, rgowdapp
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: dht-parallel-readdirp
Fixed In Version: glusterfs-3.11.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1442026 (view as bug list) Environment:
Last Closed: 2017-05-30 18:48:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1442026    

Description Poornima G 2017-03-27 06:43:41 UTC
Description of problem:

Reproducer:
./tests/bugs/distribute/bug-1161311.t run on parallel readdir on

This is due to the mismatch linkto xattr value

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Worker Ant 2017-04-13 11:05:47 UTC
REVIEW: https://review.gluster.org/17056 (dht: Add readdir-ahead in rebalance graph if parallel-readdir is on) posted (#1) for review on master by Poornima G (pgurusid)

Comment 2 Worker Ant 2017-04-13 11:19:49 UTC
REVIEW: https://review.gluster.org/17056 (dht: Add readdir-ahead in rebalance graph if parallel-readdir is on) posted (#2) for review on master by Poornima G (pgurusid)

Comment 3 Worker Ant 2017-04-15 17:47:06 UTC
REVIEW: https://review.gluster.org/17056 (dht: Add readdir-ahead in rebalance graph if parallel-readdir is on) posted (#3) for review on master by Poornima G (pgurusid)

Comment 4 Worker Ant 2017-04-18 06:16:15 UTC
COMMIT: https://review.gluster.org/17056 committed in master by Raghavendra G (rgowdapp) 
------
commit 94196dee1f1b0e22faab69cd9b1b1c70ba3d2f6f
Author: Poornima G <pgurusid>
Date:   Thu Apr 13 16:20:29 2017 +0530

    dht: Add readdir-ahead in rebalance graph if parallel-readdir is on
    
    Issue:
    The value of linkto xattr is generally the name of the dht's
    next subvol, this requires that the next subvol of dht is not
    changed for the life time of the volume. But with parallel
    readdir enabled, the readdir-ahead loaded below dht, is optional.
    The linkto xattr for first subvol, when:
    - parallel readdir is enabled : "<volname>-readdir-head-0"
    - plain distribute volume : "<volname>-client-0"
    - distribute replicate volume : "<volname>-afr-0"
    
    The value of linkto xattr is "<volname>-readdir-head-0" when
    parallel readdir is enabled, and is "<volname>-client-0" if
    its disabled. But the dht_lookup takes care of healing if it
    cannot identify which linkto subvol, the xattr points to.
    
    In dht_lookup_cbk, if linkto xattr is found to be "<volname>-client-0"
    and parallel readdir is enabled, then it cannot understand the
    value "<volname>-client-0" as it expects "<volname>-readdir-head-0".
    In that case, dht_lookup_everywhere is issued and then the linkto file
    is unlinked and recreated with the right linkto xattr. The issue is
    when parallel readdir is enabled, mount point accesses the file
    that is currently being migrated. Since rebalance process doesn't
    have parallel-readdir feature, it expects "<volname>-client-0"
    where as mount expects "<volname>-readdir-head-0". Thus at some point
    either the mount or rebalance will fail.
    
    Solution:
    Enable parallel-readdir for rebalance as well and then do not
    allow enabling/disabling parallel-readdir if rebalance is in
    progress.
    
    Change-Id: I241ab966bdd850e667f7768840540546f5289483
    BUG: 1436090
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: https://review.gluster.org/17056
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Atin Mukherjee <amukherj>
    Reviewed-by: Raghavendra G <rgowdapp>

Comment 5 Shyamsundar 2017-05-30 18:48:21 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.11.0, please open a new bug report.

glusterfs-3.11.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://lists.gluster.org/pipermail/announce/2017-May/000073.html
[2] https://www.gluster.org/pipermail/gluster-users/