Bug 1445260

Summary: [GANESHA] Volume start and stop having ganesha enable on it,turns off cache-invalidation on volume
Product: [Community] GlusterFS Reporter: Jiffin <jthottan>
Component: glusterdAssignee: Jiffin <jthottan>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: high    
Version: 3.10CC: amukherj, bugs, msaini, rhinduja, rhs-bugs, rtalur, skoduri, storage-qa-internal, vbellur
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.10.2 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1443990 Environment:
Last Closed: 2017-05-31 20:45:58 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: 1443990    
Bug Blocks: 1442603    

Description Jiffin 2017-04-25 11:32:06 UTC
+++ This bug was initially created as a clone of Bug #1443990 +++

Description of problem:
Volume having ganesha enable on it,after performing volume stop and start turns of features.cache-invalidation to off

Version-Release number of selected component (if applicable):
# rpm -qa | grep ganesha
glusterfs-ganesha-3.8.4-22.el7rhgs.x86_64
nfs-ganesha-2.4.4-2.el7.x86_64
nfs-ganesha-gluster-2.4.4-2.el7.x86_64


How reproducible:
100%

Steps to Reproduce:
1.Create 4 node ganesha cluster.
2.Create a volume.Enable ganesha on it
3.Do volume stop and start


Actual results:
features.cache-invalidation gets turned off while doing volume stop and start.
Volume is still exported after restart

Expected results:
features.cache-invalidation should not be turned off after doing volume start and stop

Additional info:

While ganesha is enabled on fresh volume
====

# gluster v info
 
Volume Name: ganesha1
Type: Distributed-Replicate
Volume ID: 793f86f4-7e0b-4b0d-a4e5-4fb8ab9b82c0
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: dhcp47-132.lab.eng.blr.redhat.com:/gluster/brick1/1
Brick2: dhcp47-141.lab.eng.blr.redhat.com:/gluster/brick1/1
Brick3: dhcp47-144.lab.eng.blr.redhat.com:/gluster/brick1/1
Brick4: dhcp47-139.lab.eng.blr.redhat.com:/gluster/brick1/1
Options Reconfigured:
ganesha.enable: on
features.cache-invalidation: on
transport.address-family: inet
nfs.disable: on
cluster.brick-multiplex: disable
nfs-ganesha: enable
cluster.enable-shared-storage: enable


======

After performing volume stop and start

# gluster v info
 
Volume Name: ganesha1
Type: Distributed-Replicate
Volume ID: 793f86f4-7e0b-4b0d-a4e5-4fb8ab9b82c0
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: dhcp47-132.lab.eng.blr.redhat.com:/gluster/brick1/1
Brick2: dhcp47-141.lab.eng.blr.redhat.com:/gluster/brick1/1
Brick3: dhcp47-144.lab.eng.blr.redhat.com:/gluster/brick1/1
Brick4: dhcp47-139.lab.eng.blr.redhat.com:/gluster/brick1/1
Options Reconfigured:
ganesha.enable: on
features.cache-invalidation: off
transport.address-family: inet
nfs.disable: on
cluster.brick-multiplex: disable
nfs-ganesha: enable
cluster.enable-shared-storage: enable
 

# showmount -e localhost
Export list for localhost:
/ganesha1 (everyone)



--- Additional comment from Jiffin on 2017-04-21 06:41:25 EDT ---

Looks like a genuine bug to me(not regression, day one issue)

When volume stop is performed we call ganesha_manage_export() with value =off . This will internally turn off cache-invalidation. During start we export volume via hook script but never turn on this option.

Comment 1 Worker Ant 2017-04-25 11:32:47 UTC
REVIEW: https://review.gluster.org/17111 (glusterd/ganesha : update cache invalidation properly during volume stop) posted (#1) for review on release-3.10 by jiffin tony Thottan (jthottan)

Comment 2 Worker Ant 2017-05-01 10:07:33 UTC
COMMIT: https://review.gluster.org/17111 committed in release-3.10 by Raghavendra Talur (rtalur) 
------
commit 657a82ca1475a7325b90022957bb880429dcf939
Author: Jiffin Tony Thottan <jthottan>
Date:   Tue Apr 25 16:36:40 2017 +0530

    glusterd/ganesha : update cache invalidation properly during volume stop
    
    As per current code, during volume stop for ganesha enabled volume the
    feature.cache-invalidation was turned "off" in ganesha_manage_export().
    And it never turn back to "on" when volume is started. It is not desire
    to modify the volume options during stop, this patch fixes above mentioned
    issue.
    
    Change-Id: Iea9c62e5cda4f54805b41ea6055cf0c3652a634c
    BUG: 1445260
    Signed-off-by: Jiffin Tony Thottan <jthottan>
    Reviewed-on: https://review.gluster.org/17111
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Kaleb KEITHLEY <kkeithle>
    Reviewed-by: Raghavendra Talur <rtalur>

Comment 3 Raghavendra Talur 2017-05-31 20:45:58 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.10.2, please open a new bug report.