Bug 1369187 - fix bug in protocol/client lookup callback
Summary: fix bug in protocol/client lookup callback
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: protocol
Version: 3.8
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Anuradha
QA Contact:
URL:
Whiteboard:
Depends On: 1366284 1369211
Blocks: 1334858
TreeView+ depends on / blocked
 
Reported: 2016-08-22 15:34 UTC by Anuradha
Modified: 2016-09-20 02:01 UTC (History)
2 users (show)

Fixed In Version: glusterfs-3.8.4
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1366284
Environment:
Last Closed: 2016-09-16 18:28:22 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:


Attachments (Terms of Use)

Description Anuradha 2016-08-22 15:34:31 UTC
+++ This bug was initially created as a clone of Bug #1366284 +++

Description of problem:
in client3_3_lookup_cbk xdata is not passed to the upper xlators on failure. But there could be other xlators (like afr) that expect xdata to be present even on 
failure.
Fix it.

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


How reproducible:
100%

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Vijay Bellur on 2016-08-11 09:53:02 EDT ---

REVIEW: http://review.gluster.org/15120 (protocol/client: Unserialize xdata even if lookup fails) posted (#2) for review on master by Anuradha Talur (atalur@redhat.com)

--- Additional comment from Vijay Bellur on 2016-08-12 03:11:51 EDT ---

REVIEW: http://review.gluster.org/15120 (protocol/client: Unserialize xdata even if lookup fails) posted (#3) for review on master by Anuradha Talur (atalur@redhat.com)

--- Additional comment from Vijay Bellur on 2016-08-16 06:49:47 EDT ---

REVIEW: http://review.gluster.org/15178 (afr: set data and metadata readable to child up when no heal needed) posted (#1) for review on master by Anuradha Talur (atalur@redhat.com)

--- Additional comment from Vijay Bellur on 2016-08-17 06:26:08 EDT ---

COMMIT: http://review.gluster.org/15120 committed in master by Pranith Kumar Karampuri (pkarampu@redhat.com) 
------
commit 59186114f9545fda529368ee26c3cd3d88a80751
Author: Anuradha Talur <atalur@redhat.com>
Date:   Tue Aug 9 21:09:11 2016 +0530

    protocol/client: Unserialize xdata even if lookup fails
    
    Problem:
    AFR relies on xdata returned by lookup to determine if
    there are any files that need healing. This info is further
    used to optimize readdirp.
    
    In case of lookups with negative return value, client
    xlator was sending NULL xdata. Due to absence of xdata,
    AFR conservatively assumes that there are files that
    need healing, which is incorrect.
    
    Solution:
    Even in case of unsuccessful lookups, send the xdata received
    by protocol client so that higher xlators can get the info
    that they rely on.
    
    Change-Id: Id3a1023eb536180888eb2c0b39050000b76f7226
    BUG: 1366284
    Signed-off-by: Anuradha Talur <atalur@redhat.com>
    Reviewed-on: http://review.gluster.org/15120
    Smoke: Gluster Build System <jenkins@build.gluster.org>
    Reviewed-by: Poornima G <pgurusid@redhat.com>
    Tested-by: Poornima G <pgurusid@redhat.com>
    CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
    NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
    Reviewed-by: Ashish Pandey <aspandey@redhat.com>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>

Comment 1 Worker Ant 2016-08-22 15:45:16 UTC
REVIEW: http://review.gluster.org/15237 (protocol/client: Unserialize xdata even if lookup fails) posted (#1) for review on release-3.8 by Anuradha Talur (atalur@redhat.com)

Comment 2 Worker Ant 2016-08-22 20:18:34 UTC
COMMIT: http://review.gluster.org/15237 committed in release-3.8 by Pranith Kumar Karampuri (pkarampu@redhat.com) 
------
commit 72af868ba4a0ff7e143adaec78168aaccda473ef
Author: Anuradha Talur <atalur@redhat.com>
Date:   Tue Aug 9 21:09:11 2016 +0530

    protocol/client: Unserialize xdata even if lookup fails
    
    Problem:
    AFR relies on xdata returned by lookup to determine if
    there are any files that need healing. This info is further
    used to optimize readdirp.
    
    In case of lookups with negative return value, client
    xlator was sending NULL xdata. Due to absence of xdata,
    AFR conservatively assumes that there are files that
    need healing, which is incorrect.
    
    Solution:
    Even in case of unsuccessful lookups, send the xdata received
    by protocol client so that higher xlators can get the info
    that they rely on.
    
            >Change-Id: Id3a1023eb536180888eb2c0b39050000b76f7226
            >BUG: 1366284
            >Signed-off-by: Anuradha Talur <atalur@redhat.com>
            >Reviewed-on: http://review.gluster.org/15120
            >Smoke: Gluster Build System <jenkins@build.gluster.org>
            >Reviewed-by: Poornima G <pgurusid@redhat.com>
            >Tested-by: Poornima G <pgurusid@redhat.com>
            >CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
            >NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
            >Reviewed-by: Ashish Pandey <aspandey@redhat.com>
            >Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
            >Signed-off-by: Anuradha Talur <atalur@redhat.com>
    
    Change-Id: Id3a1023eb536180888eb2c0b39050000b76f7226
    BUG: 1369187
    Signed-off-by: Anuradha Talur <atalur@redhat.com>
    Reviewed-on: http://review.gluster.org/15237
    Smoke: Gluster Build System <jenkins@build.gluster.org>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
    NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins@build.gluster.org>

Comment 3 Niels de Vos 2016-09-12 05:39:50 UTC
All 3.8.x bugs are now reported against version 3.8 (without .x). For more information, see http://www.gluster.org/pipermail/gluster-devel/2016-September/050859.html

Comment 4 Niels de Vos 2016-09-16 18:28:22 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.8.4, please open a new bug report.

glusterfs-3.8.4 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] https://www.gluster.org/pipermail/announce/2016-September/000060.html
[2] https://www.gluster.org/pipermail/gluster-users/


Note You need to log in before you can comment on or make changes to this bug.