Bug 1445251

Summary: [Parallel Readdir] : Unable to re-enable parallel readdir after disabling it if rda cache limit is > 1GB
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Ambarish <asoman>
Component: glusterfsAssignee: Poornima G <pgurusid>
Status: CLOSED ERRATA QA Contact: Ambarish <asoman>
Severity: high Docs Contact:
Priority: unspecified    
Version: rhgs-3.3CC: amukherj, bturner, rhinduja, rhs-bugs, skoduri, vbellur
Target Milestone: ---   
Target Release: RHGS 3.3.0   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: glusterfs-3.8.4-26 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-09-21 04:39:40 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: 1438245    
Bug Blocks: 1417151    

Description Ambarish 2017-04-25 10:58:55 UTC
Description of problem:
-----------------------

2*2 volume,have parallel readir enabled and cache limit set to > 1GB,say 2GB.

Set parallel readdir to "off".

Try resetting the option to on.It will fail.

[root@gqas013 ~]# gluster v set testvol performance.parallel-readdir on
volume set: success
 
[root@gqas013 ~]# gluster v set testvol  performance.rda-cache-limit 2GB
volume set: success

[root@gqas013 ~]# gluster v set testvol performance.parallel-readdir off
volume set: success
 
[root@gqas013 ~]# gluster v set testvol performance.parallel-readdir on
volume set: failed: '2147483648' in 'option rda-cache-limit 2GB' is out of range [0 - 1073741824]
[root@gqas013 ~]# 


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

3.8.4-23.

How reproducible:
-----------------

Always.



Actual results:
---------------

Re-enabling parallel readdir fails.

Expected results:
-----------------

Successful completion of the command.

Additional info:
----------------

[root@gqas013 ~]# gluster v info
 
Volume Name: testvol
Type: Distributed-Replicate
Volume ID: 7f5ae046-00d8-428c-a3f4-75e4f7515a82
Status: Started
Snapshot Count: 0
Number of Bricks: 2 x 2 = 4
Transport-type: tcp
Bricks:
Brick1: gqas013.sbu.lab.eng.bos.redhat.com:/bricks/testvol_brick0
Brick2: gqas005.sbu.lab.eng.bos.redhat.com:/bricks/testvol_brick1
Brick3: gqas006.sbu.lab.eng.bos.redhat.com:/bricks/testvol_brick2
Brick4: gqas008.sbu.lab.eng.bos.redhat.com:/bricks/testvol_brick3
Options Reconfigured:
performance.rda-cache-limit: 2GB
performance.parallel-readdir: on
server.allow-insecure: on
performance.stat-prefetch: off
transport.address-family: inet
nfs.disable: on
[root@gqas013 ~]#

Comment 2 Poornima G 2017-05-09 05:55:26 UTC
When parallel readdir is enabled, the cache limit is (dist count * 1GB). Lets say the cache limit was set to 2 GB and then parallel readdir was disabled, the validation of rda-cache-limit fails, as the rda instance is only one(without parallel readdir) and the cache limit is set to 2GB more than the limit(1GB). Thus, mount or any other volume set etc will fail.

Comment 5 Atin Mukherjee 2017-05-19 06:45:06 UTC
upstream patch : https://review.gluster.org/#/c/17338/

Comment 6 Atin Mukherjee 2017-05-22 11:46:57 UTC
downstream patch : https://code.engineering.redhat.com/gerrit/#/c/106815/

Comment 8 Ambarish 2017-06-09 13:50:50 UTC
Verified on 3.8.4-27.

I am able to disable parallel readdir and access FUSE mounts from multiple clients.

Comment 10 errata-xmlrpc 2017-09-21 04:39:40 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://access.redhat.com/errata/RHBA-2017:2774