+++ This bug was initially created as a clone of Bug #1316873 +++ 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: --- Additional comment from Vijay Bellur on 2016-03-15 03:26:03 EDT --- 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) --- Additional comment from Vijay Bellur on 2016-03-16 02:48:54 EDT --- 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) --- Additional comment from Vijay Bellur on 2016-03-21 01:45:56 EDT --- 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) --- Additional comment from Vijay Bellur on 2016-03-21 02:24:13 EDT --- 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) --- Additional comment from Vijay Bellur on 2016-03-21 05:40:30 EDT --- 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) --- Additional comment from Mike McCune on 2016-03-28 18:17:27 EDT --- This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune with any questions --- Additional comment from Vijay Bellur on 2016-04-04 04:13:13 EDT --- 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) --- Additional comment from Vijay Bellur on 2016-04-12 13:55:49 EDT --- 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) --- Additional comment from Vijay Bellur on 2016-04-19 16:41:28 EDT --- 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)
http://review.gluster.org/#/c/13733/ posted upstream for review.
*** Bug 1367779 has been marked as a duplicate of this bug. ***
currently unable to validate due to regression in perf, which seems to be because of this fix
(In reply to nchilaka from comment #7) > currently unable to validate due to regression in perf, which seems to be > because of this fix Is this problem solved? Is the perf regression is still existing because of this fix?
I tested this fix with and without eager lock. I see the setting of dirty bits before and after op in both below cases: 1)all bricks up 2) one brick down hence moving to verified test version: 3.8.4-15 note that i raised a bug while verifying this one Bug 1427159] New: possible repeatedly recursive healing of same file with background heal not happening when IO is going on I confirmed with dev, that the above mentioned bug was not due to this fix
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://rhn.redhat.com/errata/RHSA-2017-0486.html