Bug 1200262 - Upcall framework support along with cache_invalidation usecase handled
Summary: Upcall framework support along with cache_invalidation usecase handled
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: upcall
Version: mainline
Hardware: All
OS: All
unspecified
high
Target Milestone: ---
Assignee: Soumya Koduri
QA Contact:
URL:
Whiteboard:
Depends On: 1200264 1200266 1200267 1200271 1217723 1218567
Blocks: 1188184 1217711
TreeView+ depends on / blocked
 
Reported: 2015-03-10 07:22 UTC by Soumya Koduri
Modified: 2016-06-16 12:43 UTC (History)
2 users (show)

Fixed In Version: glusterfs-3.8rc2
Clone Of:
: 1217711 (view as bug list)
Environment:
Last Closed: 2016-06-16 12:43:17 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Soumya Koduri 2015-03-10 07:22:26 UTC
Description of problem:

This bug is to track the changes required for upcall infrastructure and basic support added to handle cache-invalidation use-case.

Feature page - 
http://www.gluster.org/community/documentation/index.php/Features/Upcall-infrastructure

Comment 1 Anand Avati 2015-03-11 02:21:04 UTC
REVIEW: http://review.gluster.org/9535 (Upcall: New xlator to store various states and send cbk events.) posted (#11) for review on master by soumya k (skoduri)

Comment 2 Anand Avati 2015-03-11 02:21:17 UTC
REVIEW: http://review.gluster.org/9536 (gfapi: APIs to store and process upcall notifications received) posted (#9) for review on master by soumya k (skoduri)

Comment 3 Anand Avati 2015-03-16 13:23:17 UTC
REVIEW: http://review.gluster.org/9535 (Upcall: New xlator to store various states and send cbk events.) posted (#12) for review on master by soumya k (skoduri)

Comment 4 Anand Avati 2015-03-16 13:35:34 UTC
REVIEW: http://review.gluster.org/9535 (Upcall: New xlator to store various states and send cbk events.) posted (#13) for review on master by soumya k (skoduri)

Comment 5 Anand Avati 2015-03-16 14:58:22 UTC
REVIEW: http://review.gluster.org/9535 (Upcall: New xlator to store various states and send cbk events) posted (#14) for review on master by soumya k (skoduri)

Comment 6 Anand Avati 2015-03-16 14:58:25 UTC
REVIEW: http://review.gluster.org/9536 (gfapi: APIs to store and process upcall notifications received) posted (#10) for review on master by soumya k (skoduri)

Comment 7 Anand Avati 2015-03-17 12:08:12 UTC
COMMIT: http://review.gluster.org/9535 committed in master by Kaleb KEITHLEY (kkeithle) 
------
commit 2b97b57cd8c71cb07b7002cf3483e9cfc9403c58
Author: Soumya Koduri <skoduri>
Date:   Sun Feb 15 23:35:56 2015 +0530

    Upcall: New xlator to store various states and send cbk events
    
    Framework on the server-side, to handle certain state of the files
    accessed and send notifications to the clients connected.
    
    A generic and extensible framework, used to maintain states in
    the glusterfsd process for each of the files accessed
    (including the clients info doing the fops) and send
    notifications to the respective glusterfs clients incase of
    any change in that state.
    
    This patch handles "Inode Update/Invalidation" upcall event.
    
    Feature page:
            URL: http://www.gluster.org/community/documentation/index.php/Features/Upcall-infrastructure
    
    Below link has a writeup which explains the code changes done -
            URL: https://soumyakoduri.wordpress.com/2015/02/25/glusterfs-understanding-upcall-infrastructure-and-cache-invalidation-support/
    
    Change-Id: Ie3d724be9a3419fcf18901a753e8ec2df2ac802f
    BUG: 1200262
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/9535
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Tested-by: Gluster Build System <jenkins.com>

Comment 8 Anand Avati 2015-03-17 16:50:46 UTC
REVIEW: http://review.gluster.org/9536 (gfapi: APIs to store and process upcall notifications received) posted (#11) for review on master by soumya k (skoduri)

Comment 9 Anand Avati 2015-03-17 21:01:25 UTC
COMMIT: http://review.gluster.org/9536 committed in master by Kaleb KEITHLEY (kkeithle) 
------
commit 2a4561ef08b8be3b7d79b951252e87ba8f987120
Author: Soumya Koduri <skoduri>
Date:   Mon Feb 16 11:47:58 2015 +0530

    gfapi: APIs to store and process upcall notifications received
    
    In case of any upcall cbk events received by the protocol/client,
    gfapi will be notified which queues them up in a list (<gfapi_cbk_upcall>).
    
    Applicatons are responsible to provide APIs to process & notify them in case
    of any such upcall events queued.
    
    Added a new API which will be used by Ganesha to repeatedly poll for any
    such upcall event notified (<glfs_h_poll_upcall>).
    
    A new test-file has been added to test the cache_invalidation upcall events.
    
    Below link has a writeup which explains the code changes done -
            URL: https://soumyakoduri.wordpress.com/2015/02/25/glusterfs-understanding-upcall-infrastructure-and-cache-invalidation-support/
    
    Change-Id: Iafc6880000c865fd4da22d0cfc388ec135b5a1c5
    BUG: 1200262
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/9536
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>

Comment 10 Anand Avati 2015-04-14 05:00:48 UTC
REVIEW: http://review.gluster.org/10225 (gfapi: Modified CACHE_INVALIDATE flags) posted (#1) for review on master by soumya k (skoduri)

Comment 11 Anand Avati 2015-04-14 09:00:47 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#3) for review on master by soumya k (skoduri)

Comment 12 Anand Avati 2015-04-14 09:00:50 UTC
REVIEW: http://review.gluster.org/10200 (geo-rep: Added GF_CPPFLAGS to Makefile.am) posted (#4) for review on master by soumya k (skoduri)

Comment 13 Anand Avati 2015-04-14 09:00:53 UTC
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#10) for review on master by soumya k (skoduri)

Comment 14 Anand Avati 2015-04-14 10:20:57 UTC
REVIEW: http://review.gluster.org/10225 (gfapi: Modified CACHE_INVALIDATE flags) posted (#2) for review on master by soumya k (skoduri)

Comment 15 Anand Avati 2015-04-14 10:21:00 UTC
REVIEW: http://review.gluster.org/10232 (gfapi: Fix in glfs_h_create_from_handle) posted (#1) for review on master by soumya k (skoduri)

Comment 16 Anand Avati 2015-04-14 13:11:33 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#4) for review on master by soumya k (skoduri)

Comment 17 Anand Avati 2015-04-14 19:48:00 UTC
COMMIT: http://review.gluster.org/10200 committed in master by Niels de Vos (ndevos) 
------
commit 08a1041ca9aaf5300032294ca5c5e19dc8f836eb
Author: Soumya Koduri <skoduri>
Date:   Fri Apr 10 20:12:57 2015 +0530

    geo-rep: Added GF_CPPFLAGS to Makefile.am
    
    This change is required to include contrib files in glusterfs.h
    
    Change-Id: I40ef2c495015a6861fdd9f6a72599f094a89eb2a
    BUG: 1200262
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/10200
    Reviewed-by: Kotresh HR <khiremat>
    Reviewed-by: Raghavendra Talur <rtalur>
    Tested-by: Gluster Build System <jenkins.com>
    Tested-by: NetBSD Build System
    Reviewed-by: Niels de Vos <ndevos>

Comment 18 Anand Avati 2015-04-15 06:40:49 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#5) for review on master by soumya k (skoduri)

Comment 19 Anand Avati 2015-04-15 07:29:34 UTC
REVIEW: http://review.gluster.org/10225 (gfapi: Modified CACHE_INVALIDATE flags) posted (#3) for review on master by soumya k (skoduri)

Comment 20 Anand Avati 2015-04-15 07:29:37 UTC
REVIEW: http://review.gluster.org/10232 (gfapi: Fix in glfs_h_create_from_handle) posted (#2) for review on master by soumya k (skoduri)

Comment 21 Anand Avati 2015-04-15 12:18:36 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#6) for review on master by soumya k (skoduri)

Comment 22 Anand Avati 2015-04-17 09:51:28 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#7) for review on master by soumya k (skoduri)

Comment 23 Anand Avati 2015-04-17 09:51:33 UTC
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#11) for review on master by soumya k (skoduri)

Comment 24 Anand Avati 2015-04-17 09:54:57 UTC
REVIEW: http://review.gluster.org/10225 (gfapi: Modified CACHE_INVALIDATE flags) posted (#4) for review on master by soumya k (skoduri)

Comment 25 Anand Avati 2015-04-17 09:55:02 UTC
REVIEW: http://review.gluster.org/10232 (gfapi: Fix in glfs_h_create_from_handle) posted (#3) for review on master by soumya k (skoduri)

Comment 26 Anand Avati 2015-04-19 08:09:01 UTC
COMMIT: http://review.gluster.org/10232 committed in master by Niels de Vos (ndevos) 
------
commit b464723a48c2e35e7f209c3f909c964b6ba7fb47
Author: Soumya Koduri <skoduri>
Date:   Tue Apr 14 13:08:34 2015 +0530

    gfapi: Fix in glfs_h_create_from_handle
    
    While constructing glfs_object from the handle given, incase
    if inode is found in the inode table, we need not do "syncop_lookup"
    unless we need to return the inode attributes.
    
    BUG: 1200262
    Change-Id: I4682d9e4420a0bcb1b3e807b801ccb3d8de3d2cd
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/10232
    Tested-by: NetBSD Build System
    Reviewed-by: Niels de Vos <ndevos>

Comment 27 Anand Avati 2015-04-19 08:24:06 UTC
COMMIT: http://review.gluster.org/10225 committed in master by Niels de Vos (ndevos) 
------
commit f45779067dbba3077b9c64c930fd4ddd1c51243e
Author: Soumya Koduri <skoduri>
Date:   Tue Apr 14 04:35:09 2015 +0530

    gfapi: Modified CACHE_INVALIDATE flags
    
    Have prefixed CACHE_INVALIDATE flags exposed via gfapi with 'GFAPI_'.
    In addition as INODE_UPDATE is asynchronous and may need some
    support in NFS-Ganesha, have taken it out for now. Will revisit it
    later.
    
    Change-Id: Icbbc2c92a61c9225b6c5bc8c4212e8c4a3a0a10f
    BUG: 1200262
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/10225
    Tested-by: NetBSD Build System
    Reviewed-by: Niels de Vos <ndevos>

Comment 28 Anand Avati 2015-04-20 17:05:16 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#8) for review on master by soumya k (skoduri)

Comment 29 Anand Avati 2015-04-20 17:05:18 UTC
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#12) for review on master by soumya k (skoduri)

Comment 30 Anand Avati 2015-04-24 10:11:22 UTC
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#13) for review on master by Poornima G (pgurusid)

Comment 31 Anand Avati 2015-04-25 07:05:41 UTC
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#14) for review on master by Poornima G (pgurusid)

Comment 32 Anand Avati 2015-04-27 08:53:29 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#9) for review on master by soumya k (skoduri)

Comment 33 Anand Avati 2015-04-27 08:53:31 UTC
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#15) for review on master by soumya k (skoduri)

Comment 34 Anand Avati 2015-04-29 17:40:51 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#10) for review on master by soumya k (skoduri)

Comment 35 Anand Avati 2015-04-29 17:40:55 UTC
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#16) for review on master by soumya k (skoduri)

Comment 36 Anand Avati 2015-04-29 17:40:57 UTC
REVIEW: http://review.gluster.org/10452 (rpc: Include stat and parent gfid in 'gfs3_cbk_cache_invalidation_req') posted (#1) for review on master by soumya k (skoduri)

Comment 37 Anand Avati 2015-04-30 08:02:08 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#11) for review on master by soumya k (skoduri)

Comment 38 Anand Avati 2015-04-30 08:02:11 UTC
REVIEW: http://review.gluster.org/10049 (Upcall: Process each of the upcall events separately) posted (#17) for review on master by soumya k (skoduri)

Comment 39 Anand Avati 2015-04-30 08:02:13 UTC
REVIEW: http://review.gluster.org/10452 (rpc: Included necessary stats in 'gfs3_cbk_cache_invalidation_req') posted (#2) for review on master by soumya k (skoduri)

Comment 40 Anand Avati 2015-04-30 08:02:16 UTC
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#1) for review on master by soumya k (skoduri)

Comment 41 Anand Avati 2015-04-30 11:51:50 UTC
COMMIT: http://review.gluster.org/10049 committed in master by Kaleb KEITHLEY (kkeithle) 
------
commit 2bf85951c6c25aa17acc591fabc3b3927b6dc82f
Author: Soumya Koduri <skoduri>
Date:   Mon Mar 30 16:56:59 2015 +0530

    Upcall: Process each of the upcall events separately
    
    As suggested during the code-review of Bug1200262, have modified
    GF_CBK_UPCALL to be exlusively GF_CBK_CACHE_INVALIDATION.
    Thus, for any new upcall event, a new CBK procedure will be added.
    
    Also made changes to store upcall data separately based on the
    upcall event type received.
    
    BUG: 1200262
    Change-Id: I0f5e53d6f5ece16aecb514a0a426dca40fa1c755
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/10049
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>

Comment 42 Anand Avati 2015-04-30 11:53:23 UTC
REVIEW: http://review.gluster.org/10224 (Upcall: Replaced opaque gfid with string in rpc cbk args) posted (#12) for review on master by Kaleb KEITHLEY (kkeithle)

Comment 43 Anand Avati 2015-04-30 12:11:34 UTC
COMMIT: http://review.gluster.org/10224 committed in master by Kaleb KEITHLEY (kkeithle) 
------
commit 664d2d243deb132dd5daad0280ae9fa2406ca26a
Author: Soumya Koduri <skoduri>
Date:   Tue Apr 14 04:03:36 2015 +0530

    Upcall: Replaced opaque gfid with string in rpc cbk args
    
    For GF_CBK_CACHE_INVALIDATION, have changed the type of gfid
    to be string (cannonical form) instead of opaque byte format
    to ensure correctness across platforms supporting different
    endianness.
    
    BUG: 1200262
    Change-Id: Iac4372714f4b4ebcd9c4393aaf46ceba3f37f587
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/10224
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Tested-by: Gluster Build System <jenkins.com>

Comment 44 Anand Avati 2015-05-01 09:19:10 UTC
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#2) for review on master by soumya k (skoduri)

Comment 45 Anand Avati 2015-05-01 09:19:15 UTC
REVIEW: http://review.gluster.org/10452 (rpc: Included necessary stats in 'gfs3_cbk_cache_invalidation_req') posted (#3) for review on master by soumya k (skoduri)

Comment 46 Anand Avati 2015-05-01 12:20:27 UTC
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#3) for review on master by soumya k (skoduri)

Comment 47 Anand Avati 2015-05-01 12:42:34 UTC
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#4) for review on master by soumya k (skoduri)

Comment 48 Anand Avati 2015-05-02 17:30:57 UTC
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#5) for review on master by soumya k (skoduri)

Comment 49 Anand Avati 2015-05-02 17:31:26 UTC
REVIEW: http://review.gluster.org/10452 (rpc: Included necessary stats in 'gfs3_cbk_cache_invalidation_req') posted (#4) for review on master by soumya k (skoduri)

Comment 50 Anand Avati 2015-05-04 09:06:39 UTC
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#6) for review on master by soumya k (skoduri)

Comment 51 Anand Avati 2015-05-04 12:28:37 UTC
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#7) for review on master by soumya k (skoduri)

Comment 52 Anand Avati 2015-05-04 12:29:03 UTC
REVIEW: http://review.gluster.org/10452 (rpc: Included necessary stats in 'gfs3_cbk_cache_invalidation_req') posted (#5) for review on master by soumya k (skoduri)

Comment 53 Anand Avati 2015-05-05 02:41:47 UTC
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#8) for review on master by soumya k (skoduri)

Comment 54 Anand Avati 2015-05-05 09:35:57 UTC
REVIEW: http://review.gluster.org/10460 (Upcall: Send stat as part of cache_invalidation notifications) posted (#9) for review on master by soumya k (skoduri)

Comment 55 Anand Avati 2015-05-05 13:57:45 UTC
COMMIT: http://review.gluster.org/10460 committed in master by Kaleb KEITHLEY (kkeithle) 
------
commit 170cc4ea08aa48e69c2df6be5841076c9a119d5a
Author: Soumya Koduri <skoduri>
Date:   Thu Apr 30 13:28:44 2015 +0530

    Upcall: Send stat as part of cache_invalidation notifications
    
    Have added support to send attributes of both entries and
    its parent (include oldparent in case of RENAME fop) in the
    same notification request to avoid multiple rpc requests.
    
    Also, made changes in gfapi to send parent object and its
    attributes changed in a single upcall event.
    
    Change-Id: I92833da3bcec38d65216921c2ce4d10367c32ef1
    BUG: 1200262
    Signed-off-by: Soumya Koduri <skoduri>
    Reviewed-on: http://review.gluster.org/10460
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>

Comment 56 Nagaprasad Sathyanarayana 2015-10-25 14:48:45 UTC
Fix for this BZ is already present in a GlusterFS release. You can find clone of this BZ, fixed in a GlusterFS release and closed. Hence closing this mainline BZ as well.

Comment 57 Nagaprasad Sathyanarayana 2015-10-25 14:54:50 UTC
Fix for this bug is already made in a GlusterFS release. The cloned BZ has details of the fix and the release. Hence closing this mainline BZ.

Comment 58 Niels de Vos 2016-06-16 12:43:17 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.0, please open a new bug report.

glusterfs-3.8.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://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user


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