Bug 1316873

Summary: EC: Set/unset dirty flag for all the update operations
Product: [Community] GlusterFS Reporter: Ashish Pandey <aspandey>
Component: disperseAssignee: Ashish Pandey <aspandey>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: mainlineCC: bugs, hgowtham
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.10.0 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1361513 1377570 (view as bug list) Environment:
Last Closed: 2017-03-06 17:20:01 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:    
Bug Blocks: 1361513, 1377570    

Description Ashish Pandey 2016-03-11 11:09:32 UTC
Description of problem:

Set/unset dirty flag for all the update operations

If write operation come for a file, set its the dirty flag in preop for that file, perform write and then unset dirty flag in post of if write is successful on all the bricks. 
If any brick goes down during write fop, keep the dirty flag ON and don't unset it in postop. This will trigger heal for the file when the bricks comes up.

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


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 Vijay Bellur 2016-03-15 07:26:03 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#1) for review on master by Ashish Pandey (aspandey)

Comment 2 Vijay Bellur 2016-03-16 06:48:54 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#2) for review on master by Ashish Pandey (aspandey)

Comment 3 Vijay Bellur 2016-03-21 05:45:56 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#3) for review on master by Ashish Pandey (aspandey)

Comment 4 Vijay Bellur 2016-03-21 06:24:13 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#4) for review on master by Ashish Pandey (aspandey)

Comment 5 Vijay Bellur 2016-03-21 09:40:30 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#5) for review on master by Ashish Pandey (aspandey)

Comment 6 Mike McCune 2016-03-28 22:17:27 UTC
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions

Comment 7 Vijay Bellur 2016-04-04 08:13:13 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#6) for review on master by Ashish Pandey (aspandey)

Comment 8 Vijay Bellur 2016-04-12 17:55:49 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#7) for review on master by Ashish Pandey (aspandey)

Comment 9 Vijay Bellur 2016-04-19 20:41:28 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#8) for review on master by Ashish Pandey (aspandey)

Comment 10 Vijay Bellur 2016-08-17 12:45:35 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#9) for review on master by Ashish Pandey (aspandey)

Comment 11 Vijay Bellur 2016-08-18 08:23:38 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#10) for review on master by Ashish Pandey (aspandey)

Comment 12 Worker Ant 2016-08-23 10:00:38 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#11) for review on master by Ashish Pandey (aspandey)

Comment 13 Worker Ant 2016-08-30 07:00:32 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#12) for review on master by Ashish Pandey (aspandey)

Comment 14 Worker Ant 2016-08-31 12:01:30 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#13) for review on master by Ashish Pandey (aspandey)

Comment 15 Worker Ant 2016-09-02 08:32:03 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#14) for review on master by Ashish Pandey (aspandey)

Comment 16 Worker Ant 2016-09-03 13:12:29 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#15) for review on master by Atin Mukherjee (amukherj)

Comment 17 Worker Ant 2016-09-08 13:01:40 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#16) for review on master by Ashish Pandey (aspandey)

Comment 18 Worker Ant 2016-09-09 05:55:54 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#17) for review on master by Ashish Pandey (aspandey)

Comment 19 Worker Ant 2016-09-09 06:14:12 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#18) for review on master by Ashish Pandey (aspandey)

Comment 20 Worker Ant 2016-09-09 13:48:01 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#19) for review on master by Ashish Pandey (aspandey)

Comment 21 Worker Ant 2016-09-12 08:50:13 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#20) for review on master by Ashish Pandey (aspandey)

Comment 22 Worker Ant 2016-09-14 06:30:41 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#21) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 23 Worker Ant 2016-09-15 02:08:52 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#22) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 24 Worker Ant 2016-09-15 17:31:40 UTC
REVIEW: http://review.gluster.org/13733 (cluster/ec: set/unset dirty flag for data/metadata update) posted (#23) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 25 Worker Ant 2016-09-16 06:26:32 UTC
COMMIT: http://review.gluster.org/13733 committed in master by Xavier Hernandez (xhernandez) 
------
commit 660ca23dee3a0f1a7128d3777589467b27af514b
Author: Ashish Pandey <aspandey>
Date:   Mon Aug 22 16:03:13 2016 +0530

    cluster/ec: set/unset dirty flag for data/metadata update
    
    Currently, for all the update operations, metadata or data,
    we set the dirty flag at the end of the operation only if
    a brick is down. This leads to delay in healing and in some
    cases not at all.
    In this patch we set (+1) the dirty flag
    at the start of the metadata or data update operations and
    after successfull completion of the fop, we unset (-1) it again.
    
    Change-Id: Ide5668bdec7b937a61c5c840cdc79a967598e1e9
    BUG: 1316873
    Signed-off-by: Ashish Pandey <aspandey>
    Reviewed-on: http://review.gluster.org/13733
    Tested-by: Pranith Kumar Karampuri <pkarampu>
    Smoke: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    Reviewed-by: Xavier Hernandez <xhernandez>

Comment 26 Shyamsundar 2017-03-06 17:20:01 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.0, please open a new bug report.

glusterfs-3.10.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://lists.gluster.org/pipermail/gluster-users/2017-February/030119.html
[2] https://www.gluster.org/pipermail/gluster-users/