Bug 1337638 - Leases: Fix lease failures in certain scenarios
Summary: Leases: Fix lease failures in certain scenarios
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: core
Version: 3.8.0
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Poornima G
QA Contact:
URL:
Whiteboard:
Depends On: 1319992 1369026
Blocks: glusterfs-3.8.0
TreeView+ depends on / blocked
 
Reported: 2016-05-19 17:10 UTC by Poornima G
Modified: 2016-08-22 11:01 UTC (History)
2 users (show)

Fixed In Version: glusterfs-3.8.0
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-06-16 12:32:10 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)

Description Poornima G 2016-05-19 17:10:44 UTC
Description of problem:
Leases fails to be granted in certain scenarios

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


How reproducible:
The test case can be found @ http://review.gluster.org/#/c/12496/

Steps to Reproduce:
1. Run the above test case
2.
3.

Actual results:
It should pass

Expected results:
Fails certain cases

Additional info:

Comment 1 Vijay Bellur 2016-05-19 17:11:46 UTC
REVIEW: http://review.gluster.org/14429 (leases: Fix the notify being lost) posted (#1) for review on release-3.8 by Poornima G (pgurusid)

Comment 2 Vijay Bellur 2016-05-19 17:14:38 UTC
REVIEW: http://review.gluster.org/14430 (leases: Fix failure of RD_lease request in certain scenario) posted (#1) for review on release-3.8 by Poornima G (pgurusid)

Comment 3 Vijay Bellur 2016-05-19 17:15:48 UTC
REVIEW: http://review.gluster.org/14431 (leases: Send "this" as cookie to the timer handler) posted (#1) for review on release-3.8 by Poornima G (pgurusid)

Comment 4 Vijay Bellur 2016-05-19 17:37:01 UTC
REVIEW: http://review.gluster.org/14429 (leases: Fix the notify being lost) posted (#2) for review on release-3.8 by Poornima G (pgurusid)

Comment 5 Vijay Bellur 2016-05-19 17:37:03 UTC
REVIEW: http://review.gluster.org/14433 (leases: Do not init the threads when lease is disabled) posted (#1) for review on release-3.8 by Poornima G (pgurusid)

Comment 6 Vijay Bellur 2016-05-20 09:32:37 UTC
COMMIT: http://review.gluster.org/14429 committed in release-3.8 by Raghavendra Talur (rtalur) 
------
commit d6a23889b174cce1f54560a036d82c84b2bf53c5
Author: Poornima G <pgurusid>
Date:   Tue May 10 01:50:08 2016 -0400

    leases: Fix the notify being lost
    
    The notify() implemented doesn't really add any value
    and the EXIT_IF_LEASES_OFF in notify() can cause the
    notifications to be lost if leases if off.
    
    Hence remove the notify definition from leases,
    also fix a log level.
    
    Backport of http://review.gluster.org/#/c/14275/
    
    Change-Id: I8bf30d26f08034a16a450ed811dcf8ac57d70a94
    BUG: 1337638
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: http://review.gluster.org/14275
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Raghavendra Talur <rtalur>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra G <rgowdapp>
    (cherry picked from commit 58c577994b2bf67b6f8d9749d9c7d678edfc9ceb)
    Reviewed-on: http://review.gluster.org/14429

Comment 7 Vijay Bellur 2016-05-20 09:33:03 UTC
COMMIT: http://review.gluster.org/14433 committed in release-3.8 by Raghavendra Talur (rtalur) 
------
commit 46e85abdac1ab50cedaf1651d2df00adc673afdc
Author: Poornima G <pgurusid>
Date:   Mon May 16 08:27:41 2016 -0400

    leases: Do not init the threads when lease is disabled
    
    Backport of http://review.gluster.org/#/c/14360/
    
    Change-Id: I08c4caf94bf3dfceba6f7d3cc8945c61d9b12dbc
    BUG: 1337638
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: http://review.gluster.org/14360
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Jeff Darcy <jdarcy>
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: http://review.gluster.org/14433
    Reviewed-by: Raghavendra Talur <rtalur>

Comment 8 Vijay Bellur 2016-05-20 10:57:03 UTC
COMMIT: http://review.gluster.org/14430 committed in release-3.8 by Raghavendra Talur (rtalur) 
------
commit 6dfb357d69376574c600d65555e0b6c45bc464f8
Author: Poornima G <pgurusid>
Date:   Tue May 17 05:47:55 2016 -0400

    leases: Fix failure of RD_lease request in certain scenario
    
    Issue:
    When RW_lease exists for a given lease id and another request for
    RD_lease comes in with the same lease id, it gets rejected.
    
    Fix:
    Allow the RD_lease when RW_lease is present iff its from the
    same lease id.
    
    Backport of http://review.gluster.org/#/c/14374/
    Change-Id: Id8ad542c649497f5e58f2acf5681c640d9202046
    BUG: 1337638
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: http://review.gluster.org/14374
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Raghavendra Talur <rtalur>
    CentOS-regression: Gluster Build System <jenkins.com>
    (cherry picked from commit 005d18a623dc49397e2a83a7fb80607ae0a9aed9)
    Reviewed-on: http://review.gluster.org/14430

Comment 9 Vijay Bellur 2016-05-20 10:57:24 UTC
COMMIT: http://review.gluster.org/14431 committed in release-3.8 by Raghavendra Talur (rtalur) 
------
commit 49d9c625957d98a3e7bf6e9ecb22346ad8af23d6
Author: Poornima G <pgurusid>
Date:   Tue May 17 01:22:37 2016 -0400

    leases: Send "this" as cookie to the timer handler
    
    Issue:
    timer-wheel implementation doesn't set the THIS to point
    to the xlator who registered the timer, before calling
    the handler. Hence referencing to THIS is any timer handler
    will point to the global_xlator.
    
    Fix: This is a bug from the timer wheel, but until that gets
    fixed passing "this" as a cookie to the timer handler.
    
    Backport of http://review.gluster.org/#/c/14370/
    Change-Id: Ife1be56dc100372f9211e8fc7a885ac717cbcf47
    BUG: 1337638
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: http://review.gluster.org/14370
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra Talur <rtalur>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>
    (cherry picked from commit 84924ee0ef7cb557c54a9d467364ded86b34f40d)
    Reviewed-on: http://review.gluster.org/14431

Comment 10 Vijay Bellur 2016-05-31 11:29:03 UTC
REVIEW: http://review.gluster.org/14568 (leases: Fix the recall code path) posted (#1) for review on release-3.8 by Poornima G (pgurusid)

Comment 11 Vijay Bellur 2016-06-05 04:32:44 UTC
REVIEW: http://review.gluster.org/14648 (protocol: Add framework to send transaction id with recall) posted (#1) for review on release-3.8 by Poornima G (pgurusid)

Comment 12 Vijay Bellur 2016-06-05 04:48:46 UTC
REVIEW: http://review.gluster.org/14648 (protocol: Add framework to send transaction id with recall) posted (#2) for review on release-3.8 by Poornima G (pgurusid)

Comment 13 Vijay Bellur 2016-06-05 05:05:33 UTC
REVIEW: http://review.gluster.org/14648 (protocol: Add framework to send transaction id with recall) posted (#3) for review on release-3.8 by Poornima G (pgurusid)

Comment 14 Vijay Bellur 2016-06-10 11:03:59 UTC
COMMIT: http://review.gluster.org/14648 committed in release-3.8 by Raghavendra G (rgowdapp) 
------
commit 57372682b174c1483c41e8bc2474dcfebf0b86df
Author: Poornima G <pgurusid>
Date:   Sun Jun 5 00:06:11 2016 -0400

    protocol: Add framework to send transaction id with recall
    
    Backport of: http://review.gluster.org/#/c/14647/
    
    Issue:
    The upcall(cache invalidation/recall) event is sent from the bricks
    to clients. In AFR/EC setup, it can so happen that all the bricks
    will send the upcall for the same event, and if AFR/EC doesn't filter
    out these duplicate notifications, the logic above cluster xlators
    can fail.
    
    Solution:
    Use transaction id to filter out duplicate notifications.
    
    This patch adds framework for duplicate notifications.
    AFR/EC can build up on this patch for deduping the notifications
    
    Change-Id: I66b08e63b8799bc5932f2b2545376138a5701168
    BUG: 1337638
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: http://review.gluster.org/14648
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Raghavendra G <rgowdapp>

Comment 15 Vijay Bellur 2016-06-10 15:19:42 UTC
COMMIT: http://review.gluster.org/14568 committed in release-3.8 by Niels de Vos (ndevos) 
------
commit be879643ea47c1fe6f0721da5100b43921d44927
Author: Poornima G <pgurusid>
Date:   Thu May 19 05:04:13 2016 -0400

    leases: Fix the recall code path
    
    1. Replace frame->op usage with frame->root->op, as frame->op
       is not filled with appropriate value in all cases
    2. Add few log messages
    3. Fix boolean assignment
    
    Backport of http://review.gluster.org/#/c/14434/
    
    Change-Id: I340f2200c1fcc4f4ce5a139b0fd22508cb8ac1e3
    BUG: 1337638
    Signed-off-by: Poornima G <pgurusid>
    Reviewed-on: http://review.gluster.org/14568
    Smoke: Gluster Build System <jenkins.com>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.com>
    Reviewed-by: Rajesh Joseph <rjoseph>
    Reviewed-by: Raghavendra Talur <rtalur>
    Reviewed-by: Niels de Vos <ndevos>

Comment 16 Niels de Vos 2016-06-16 12:32:10 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.