Description of problem: On disperse volume, when the soft and hard limit is reached, alert message are not getting logged in bricks logs Version-Release number of selected component (if applicable): [root@darkknight bricks]# rpm -qa | grep glusterfs glusterfs-3.7.0-3.el6rhs.x86_64 glusterfs-server-3.7.0-3.el6rhs.x86_64 glusterfs-api-3.7.0-3.el6rhs.x86_64 glusterfs-geo-replication-3.7.0-3.el6rhs.x86_64 glusterfs-libs-3.7.0-3.el6rhs.x86_64 glusterfs-fuse-3.7.0-3.el6rhs.x86_64 glusterfs-cli-3.7.0-3.el6rhs.x86_64 glusterfs-client-xlators-3.7.0-3.el6rhs.x86_64 How reproducible: 100% Steps to Reproduce: 1. Create 8+4 disperse volume 2. Mount volume as FUSE or NFS mount 3. Enable quota on volume and set limit-usage on root of the volume 4. Create some files from mount so that disk quota exceeds Actual results: hard and soft limit exceeds messages are not getting logged in brick logs Expected results: Soft and hard limit exceeds alert should be logged in bricks logs. Additional info: [root@darkknight bricks]# gluster v info ecvol Volume Name: ecvol Type: Disperse Volume ID: 7c35b0f7-62f8-4667-8e68-d99f31b3a0ed Status: Started Number of Bricks: 1 x (8 + 4) = 12 Transport-type: tcp Bricks: Brick1: 10.70.33.214:/rhs/brick1/ec1 Brick2: 10.70.33.219:/rhs/brick1/ec2 Brick3: 10.70.33.225:/rhs/brick1/ec3 Brick4: 10.70.44.13:/rhs/brick1/ec2 Brick5: 10.70.33.214:/rhs/brick1/ec4 Brick6: 10.70.33.219:/rhs/brick1/ec6 Brick7: 10.70.33.225:/rhs/brick1/ec7 Brick8: 10.70.44.13:/rhs/brick1/ec8 Brick9: 10.70.33.214:/rhs/brick1/ec9 Brick10: 10.70.33.219:/rhs/brick1/ec10 Brick11: 10.70.33.225:/rhs/brick1/ec11 Brick12: 10.70.44.13:/rhs/brick1/ec12 Options Reconfigured: features.hard-timeout: 0 features.soft-timeout: 0 features.inode-quota: on features.quota: on features.uss: enable performance.readdir-ahead: on
*** Bug 1282725 has been marked as a duplicate of this bug. ***
*** Bug 1282719 has been marked as a duplicate of this bug. ***
Sometime alert message will not be displayed because of parallel writes: Consider below scenario in the quota xlator T1 - write with delta1 bytes on fd1 check_limit sees that delta1 bytes is not exceeding soft limit T2 - write with delta2 bytes on fd1 check_limit sees that delta2 bytes is not exceeding soft limit T3 - delta1 and delta2 bytes are written to the disk. Here delta1 and delta2 are checked separately and do not exceed limit, but they together exceed the limit which is not checked. We need to find a solution to solve this problem.
Patch submitted upstream: http://review.gluster.org/#/c/14006/
Patch# 14006 doesn't fix the problem completely