Bug 1384459

Summary: Track the client that performed readdirp
Product: Red Hat Gluster Storage Reporter: Shashank Raj <sraj>
Component: upcallAssignee: Soumya Koduri <skoduri>
Status: CLOSED ERRATA QA Contact: Arthy Loganathan <aloganat>
Severity: high Docs Contact:
Priority: unspecified    
Version: rhgs-3.2CC: amukherj, bugs, mzywusko, ndevos, pgurusid, rhinduja, rhs-bugs, skoduri, storage-qa-internal
Target Milestone: ---Keywords: Triaged
Target Release: RHGS 3.2.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.8.4-3 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1371947 Environment:
Last Closed: 2017-03-23 06:09:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
Bug Depends On: 1369430, 1371947    
Bug Blocks: 1351528    

Description Shashank Raj 2016-10-13 10:19:44 UTC
+++ This bug was initially created as a clone of Bug #1371947 +++

+++ This bug was initially created as a clone of Bug #1369430 +++

Description of problem:
Currently when a client does a readdirp on directory say dir1 (containing f1 file), only the fact that client accessed dir1 is stored in upcall, but it sould also store that f1 was also accessed by that client. If not this may lead to stale cache on client side, when client caches the readdirp data alone. 

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

--- Additional comment from Worker Ant on 2016-08-25 06:43:57 CEST ---

REVIEW: http://review.gluster.org/15313 (upcall: Mark the clients as accessed even on readdir) posted (#1) for review on master by Poornima G (pgurusid@redhat.com)

--- Additional comment from Worker Ant on 2016-08-25 07:24:15 CEST ---

REVIEW: http://review.gluster.org/15313 (upcall: Mark the clients as accessed even on readdir) posted (#2) for review on master by Poornima G (pgurusid@redhat.com)

--- Additional comment from Worker Ant on 2016-08-25 12:41:19 CEST ---

REVIEW: http://review.gluster.org/15313 (upcall: Mark the clients as accessed even on readdir) posted (#3) for review on master by Poornima G (pgurusid@redhat.com)

--- Additional comment from Worker Ant on 2016-08-25 13:30:52 CEST ---

REVIEW: http://review.gluster.org/15313 (upcall: Mark the clients as accessed even on readdir entries) posted (#4) for review on master by Poornima G (pgurusid@redhat.com)

--- Additional comment from Worker Ant on 2016-08-26 06:05:55 CEST ---

REVIEW: http://review.gluster.org/15313 (upcall: Mark the clients as accessed even on readdir entries) posted (#5) for review on master by Poornima G (pgurusid@redhat.com)

--- Additional comment from Worker Ant on 2016-08-27 08:15:53 CEST ---

REVIEW: http://review.gluster.org/15313 (upcall: Mark the clients as accessed even on readdir entries) posted (#6) for review on master by Poornima G (pgurusid@redhat.com)

--- Additional comment from Worker Ant on 2016-08-30 07:20:24 CEST ---

REVIEW: http://review.gluster.org/15313 (upcall: Mark the clients as accessed even on readdir entries) posted (#7) for review on master by Poornima G (pgurusid@redhat.com)

--- Additional comment from Worker Ant on 2016-08-30 07:20:44 CEST ---

REVIEW: http://review.gluster.org/15313 (upcall: Mark the clients as accessed even on readdir entries) posted (#8) for review on master by Poornima G (pgurusid@redhat.com)

--- Additional comment from Worker Ant on 2016-08-30 13:28:39 CEST ---

REVIEW: http://review.gluster.org/15313 (upcall: Mark the clients as accessed on readdirp entries) posted (#9) for review on master by Poornima G (pgurusid@redhat.com)

--- Additional comment from Worker Ant on 2016-08-31 15:44:06 CEST ---

COMMIT: http://review.gluster.org/15313 committed in master by Niels de Vos (ndevos@redhat.com) 
------
commit 9d8bbbb8f68a0c45bfbb2e891cdbd9b9a1121259
Author: Poornima G <pgurusid@redhat.com>
Date:   Thu Aug 25 10:09:20 2016 +0530

    upcall: Mark the clients as accessed on readdirp entries
    
    Currently when a client performs a readdirp it is not stored
    in upcall, as one of the clients that have accessed the files.
    Hence, when any other client modifies the file, the client that
    had performed readdirp will not get any notifications.
    
    Fix this by adding the clients to upcall database when they
    perform readdirp.
    
    Change-Id: I7767f1e26bf1bd1f67702a6d01f8aa64526ccc46
    BUG: 1369430
    Signed-off-by: Poornima G <pgurusid@redhat.com>
    Reviewed-on: http://review.gluster.org/15313
    Smoke: Gluster Build System <jenkins@build.gluster.org>
    NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
    CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
    Reviewed-by: soumya k <skoduri@redhat.com>
    Reviewed-by: Niels de Vos <ndevos@redhat.com>

--- Additional comment from Niels de Vos on 2016-09-12 01:37:09 EDT ---

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 2 Niels de Vos 2016-10-13 11:56:46 UTC
POST? Please add a link to the patch or commit-id.

Comment 3 Soumya Koduri 2016-10-13 12:15:55 UTC
Patch merged in upstream -  http://review.gluster.org/15313 

Hence in POST state.

Comment 11 Arthy Loganathan 2016-12-19 05:51:44 UTC
Tested and verified the fix in build,

nfs-ganesha-2.4.1-2.el7rhgs.x86_64
nfs-ganesha-gluster-2.4.1-2.el7rhgs.x86_64
glusterfs-ganesha-3.8.4-8.el7rhgs.x86_64

Tested the following in nfs-ganesha and fuse protocol.

1. Mount 6*2 mdcache enabled volume in two clients.
2. Write IO's dirs and files in one client.
3. Modify the files in other client.
4. Verify that modification is reflected in both the clients.

Comment 13 errata-xmlrpc 2017-03-23 06:09:48 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2017-0486.html