Bug 1240970

Summary: [Data Tiering]: HOT Files get demoted from hot tier
Product: [Community] GlusterFS Reporter: Joseph Elwin Fernandes <josferna>
Component: tieringAssignee: Joseph Elwin Fernandes <josferna>
Status: CLOSED CURRENTRELEASE QA Contact: bugs <bugs>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: mainlineCC: bugs, nchilaka, sankarshan
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.8rc2 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
: 1241776 (view as bug list) Environment:
Last Closed: 2016-06-16 13:21:35 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: 1241776, 1260923    

Description Joseph Elwin Fernandes 2015-07-08 09:22:50 UTC
Description of problem:

Files which are HOT are getting demoted from the hot tier.

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

How reproducible:

1) create a dist-rep volume 1x2
2) start the volume 
3) switch off the performance xlator (optional)
4) attach a dist-rep tier 1x2
5) fuse mount the volume
6) create a file : touch file1.
7) heat up the file : for i in {1..10}; do touch file1; done
8) wait for the default promotion/demotion frequency secs i.e sleep 120
9) the file demoted! [shouldn't demote!!]
10) Heat up the file again: for i in {1..10}; do touch file1; done
11) wait for the default promotion/demotion frequency secs i.e sleep 120
12) the file is promoted [as expected]
13) heat up the file : for i in {1..10}; do touch file1; done
14) wait for the default promotion/demotion frequency secs i.e sleep 120
15) the file demoted! [shouldn't demote!!]


Actual results:
HOT file Demoted!

Expected results:
HOT File shouldn't demote


Additional info:

Comment 1 Anand Avati 2015-07-08 09:25:31 UTC
REVIEW: http://review.gluster.org/11577 (libgfdb/sql: Fixing broken query of find_unchanged) posted (#1) for review on master by Joseph Fernandes

Comment 2 Joseph Elwin Fernandes 2015-07-08 09:29:36 UTC
*** Bug 1240926 has been marked as a duplicate of this bug. ***

Comment 3 Anand Avati 2015-07-10 14:02:22 UTC
COMMIT: http://review.gluster.org/11577 committed in master by Vijay Bellur (vbellur) 
------
commit 79106a754d4804074e5c5c6bfe1c388f7d314535
Author: Joseph Fernandes <josferna>
Date:   Wed Jul 8 14:35:45 2015 +0530

    libgfdb/sql: Fixing broken query of find_unchanged
    
    The find_unchanged query should be
    
              "write_heat <= defined_heat" AND "read_heat <= defined_heat"
       and not
              "write_heat <= defined_heat" OR "read_heat <= defined_heat"
    
    Change-Id: Ie82e02aafbb7ea14563007307de3350ea022049a
    BUG: 1240970
    Signed-off-by: Joseph Fernandes <josferna>
    Reviewed-on: http://review.gluster.org/11577
    Reviewed-by: Dan Lambright <dlambrig>
    Reviewed-by: mohammed rafi  kc <rkavunga>
    Tested-by: NetBSD Build System <jenkins.org>
    Tested-by: Joseph Fernandes
    Tested-by: Dan Lambright <dlambrig>
    Tested-by: Gluster Build System <jenkins.com>

Comment 4 Nagaprasad Sathyanarayana 2015-10-25 14:48:42 UTC
Fix for this BZ is already present in a GlusterFS release. You can find clone of this BZ, fixed in a GlusterFS release and closed. Hence closing this mainline BZ as well.

Comment 5 Niels de Vos 2016-06-16 13:21:35 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