Bug 1282761

Summary: EC: File healing promotes it to hot tier
Product: [Community] GlusterFS Reporter: Joseph Elwin Fernandes <josferna>
Component: tieringAssignee: Pranith Kumar K <pkarampu>
Status: CLOSED CURRENTRELEASE QA Contact: bugs <bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, byarlaga, dlambrig, nchilaka, pkarampu, rcyriac, sankarshan, smohan
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1278279
: 1283757 (view as bug list) Environment:
Last Closed: 2016-06-16 13:44:42 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: 1278279    
Bug Blocks: 1283757    

Comment 1 Pranith Kumar K 2015-11-17 11:30:04 UTC
There are actually two issues here,

1) EC Selfheal traffic heats the file, as CTR Xlator is not distinguishing normal read-write FOP traffic from EC Sefheal FOP Traffic. Solution for this is detect the client-pid set in the FOP frame and ignore these FOPS in CTR Xlator. Need info from the EC dev Team, on the which client-pid EC Selfheal daemon uses to mark the FOPS different from regular FOPS.  

2) During a normal write the file gets heated up for read also, which is not correct and has performance cost w.r.t the extra updates to the database.  Well the reason for this is that each write that comes from the user to EC xlator converts to a read-modify-update FOPS. This read FOP doesnt have any marker on it to differentiate it from the regular read, and thus CTR tends to heat up the file.
Would require a marker on this read FOP or any such internal FOPs from EC xlator.

Comment 2 Vijay Bellur 2015-11-17 11:37:14 UTC
REVIEW: http://review.gluster.org/12598 (cluster/ec: Mark self-heal fops as internal) posted (#1) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 3 Vijay Bellur 2015-11-17 13:28:48 UTC
REVIEW: http://review.gluster.org/12599 (cluster/ec: Mark internal fops appropriately) posted (#1) for review on master by Xavier Hernandez (xhernandez)

Comment 4 Vijay Bellur 2015-11-18 02:52:38 UTC
REVIEW: http://review.gluster.org/12598 (cluster/ec: Mark self-heal fops as internal) posted (#2) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 5 Vijay Bellur 2015-11-18 06:50:36 UTC
REVIEW: http://review.gluster.org/12598 (cluster/ec: Mark self-heal fops as internal) posted (#4) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 6 Vijay Bellur 2015-11-18 06:50:40 UTC
REVIEW: http://review.gluster.org/12599 (cluster/ec: Mark internal fops appropriately) posted (#3) for review on master by Pranith Kumar Karampuri (pkarampu)

Comment 7 Vijay Bellur 2015-11-18 13:16:06 UTC
COMMIT: http://review.gluster.org/12598 committed in master by Pranith Kumar Karampuri (pkarampu) 
------
commit e06adccb38f3dc91a4534232237e07589cd07426
Author: Pranith Kumar K <pkarampu>
Date:   Tue Nov 17 17:01:47 2015 +0530

    cluster/ec: Mark self-heal fops as internal
    
    Change-Id: I8ae7af266d3e00460f0cfdc9389a926e5f2fee36
    BUG: 1282761
    Signed-off-by: Pranith Kumar K <pkarampu>
    Reviewed-on: http://review.gluster.org/12598
    Tested-by: Gluster Build System <jenkins.com>
    Tested-by: NetBSD Build System <jenkins.org>
    Reviewed-by: Xavier Hernandez <xhernandez>

Comment 8 Vijay Bellur 2015-11-19 09:25:54 UTC
COMMIT: http://review.gluster.org/12599 committed in master by Pranith Kumar Karampuri (pkarampu) 
------
commit 7b5cd1873e4fc62e6295b5b6c530f1afd4bf4d61
Author: Xavier Hernandez <xhernandez>
Date:   Tue Nov 17 14:06:20 2015 +0100

    cluster/ec: Mark internal fops appropriately
    
    1) Mark read fops in read-modify-write by EC as internal.
    2) Handle uid/gid set/reset correctly
    
    BUG: 1282761
    Change-Id: I5c1ce0cd6213367eaead5fed33aa2397c4e46df7
    Signed-off-by: Xavier Hernandez <xhernandez>
    Reviewed-on: http://review.gluster.org/12599
    Tested-by: Gluster Build System <jenkins.com>
    Tested-by: NetBSD Build System <jenkins.org>
    Reviewed-by: Pranith Kumar Karampuri <pkarampu>

Comment 9 Niels de Vos 2016-06-16 13:44:42 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.8.0, please open a new bug report.

glusterfs-3.8.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://blog.gluster.org/2016/06/glusterfs-3-8-released/
[2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user