+++ This bug was initially created as a clone of Bug #993535 +++ Description of problem: ----------------------- Write-behind has got the option, write-behind-window-size which, as per command link help, should allow values within range [524288 - 1073741824] But in this case, it takes values greater than MAX value - 1073741824 Version-Release number of selected component (if applicable): ------------------------------------------------------------- RHS2.1 - glusterfs-3.4.0.15rhs-1 How reproducible: ----------------- Always Steps to Reproduce: ------------------- 1. Set 'write-behind-window-size' to negative value (i.e) gluster volume set <vol-name> performance.write-behind-window-size -1 This would show-up an error, with valid value range, which is [524288 - 1073741824] 2. After getting the max value from step 1, try to set 'write-behind-window-size' greater than that value (i.e) gluster volume set <vol-name> performance.write-behind-window-size 1073741825 Actual results: The value greater than MAX value is allowed to be set Expected results: Any value greater than MAX value should be failed to set Additional info: 1. Volume Information ---------------------- Its a distributed volume with 2 bricks [Tue Aug 6 06:54:44 UTC 2013 root.37.205:~ ] # gluster volume info distvol Volume Name: distvol Type: Distribute Volume ID: 562ebca3-a048-4c1d-87d4-d6ad36547092 Status: Started Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: 10.70.37.205:/rhs/brick4/distbrick1 Brick2: 10.70.37.52:/rhs/brick4/distbrick1 Options Reconfigured: performance.write-behind-window-size: 107374182400 performance.read-ahead-page-count: 1 performance.cache-size: 4MB server.allow-insecure: on nfs.rpc-auth-allow: on performance.md-cache-timeout: 60 [Tue Aug 6 06:56:04 UTC 2013 root.37.205:~ ] # gluster volume status distvol Status of volume: distvol Gluster process Port Online Pid ------------------------------------------------------------------------------ Brick 10.70.37.205:/rhs/brick4/distbrick1 49155 Y 2854 Brick 10.70.37.52:/rhs/brick4/distbrick1 49155 Y 2841 NFS Server on localhost 2049 Y 15889 NFS Server on 10.70.37.52 2049 Y 15396 NFS Server on 10.70.37.202 2049 Y 15411 NFS Server on 10.70.37.154 2049 Y 15417 There are no active volume tasks 2. Console logs ---------------- [Tue Aug 6 06:41:13 UTC 2013 root.37.205:~ ] # gluster volume set distvol performance.write-behind-window-size 0 volume set: failed: '0' in 'option cache-size 0' is out of range [524288 - 1073741824] [Tue Aug 6 06:41:38 UTC 2013 root.37.205:~ ] # gluster volume set distvol performance.write-behind-window-size 524287 volume set: failed: '524287' in 'option cache-size 524287' is out of range [524288 - 1073741824] [Tue Aug 6 06:41:48 UTC 2013 root.37.205:~ ] # gluster volume set distvol performance.write-behind-window-size 524288 volume set: success [Tue Aug 6 06:41:55 UTC 2013 root.37.205:~ ] # gluster volume set distvol performance.write-behind-window-size 1073741824 volume set: success [Tue Aug 6 06:42:11 UTC 2013 root.37.205:~ ] # gluster volume set distvol performance.write-behind-window-size 1073741825 volume set: success [Tue Aug 6 06:42:17 UTC 2013 root.37.205:~ ] # gluster volume set distvol performance.write-behind-window-size 107374182400 volume set: success [Tue Aug 6 06:42:32 UTC 2013 root.37.205:~ ] # glusterfs -V glusterfs 3.4.0.15rhs built on Aug 4 2013 22:34:15 Repository revision: git://git.gluster.com/glusterfs.git Copyright (c) 2006-2013 Red Hat, Inc. <http://www.redhat.com/> GlusterFS comes with ABSOLUTELY NO WARRANTY. It is licensed to you under your choice of the GNU Lesser General Public License, version 3 or any later version (LGPLv3 or later), or the GNU General Public License, version 2 (GPLv2), in all cases as published by the Free Software Foundation. [Tue Aug 6 06:54:44 UTC 2013 root.37.205:~ ] # gluster volume info distvol Volume Name: distvol Type: Distribute Volume ID: 562ebca3-a048-4c1d-87d4-d6ad36547092 Status: Started Number of Bricks: 2 Transport-type: tcp Bricks: Brick1: 10.70.37.205:/rhs/brick4/distbrick1 Brick2: 10.70.37.52:/rhs/brick4/distbrick1 Options Reconfigured: performance.write-behind-window-size: 107374182400 performance.read-ahead-page-count: 1 performance.cache-size: 4MB server.allow-insecure: on nfs.rpc-auth-allow: on performance.md-cache-timeout: 60 --- Additional comment from RHEL Product and Program Management on 2013-08-06 03:14:59 EDT --- Since this issue was entered in bugzilla, the release flag has been set to ? to ensure that it is properly evaluated for this release. --- Additional comment from Vivek Agarwal on 2015-12-03 12:18:39 EST --- Thank you for submitting this issue for consideration in Red Hat Gluster Storage. The release for which you requested us to review, is now End of Life. Please See https://access.redhat.com/support/policy/updates/rhs/ If you can reproduce this bug against a currently maintained version of Red Hat Gluster Storage, please feel free to file a new report against the current release.
The issue is still reproducible with RHGS 3.1.2 [root@ ~]# gluster volume set distvol write-behind-window-size 1GB volume set: success [root@ ~]# gluster volume set distvol write-behind-window-size 2GB volume set: success [root@ ~]# gluster volume set distvol write-behind-window-size 32GB volume set: success [root@ ~]# gluster volume set distvol write-behind-window-size 1TB volume set: success [root@ ~]# gluster volume set distvol write-behind-window-size 1KB volume set: failed: '1024' in 'option cache-size 1KB' is out of range [524288 - 1073741824]
Although the changes are falling under GlusterD code, but the validation has to be taken care by the feature itself. Assigning it to Raghavendra G as he maintains performance translators.
upstream patch : https://review.gluster.org/#/c/17125
I checked, the doc is appropriate.
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