Description of problem:
Today, When a file is heated which is of size greater than the size of hot tier's high water mark, the file is promoted. Gluster should intelligently determine that the size of the file is more than high watermark and should not get promoted.
with the following scenario,
hot tier capacity: 100Gb
high water mark - 70% i.e., 70Gb
File is created of size 80Gb
Having such file in hot tier has multiple consequences.
1) When this file is in hot tier, we always exceed high watermark and get into complete demotion mode. As a result, we make all other on hot tier a possible candidate for demotion.
2) No other files will be promoted until this file moves to cold tier
3) Possibility of moving such a huge file back and forth from cold to hot tier which might affect performance
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. create a gluster volume
2. create a 80Gb file, say file1
3. Attach hot tier of size 100Gb and set high watermark at 70%
4. heat the file - file1 created in step 2
File gets promoted
File should not get promoted
http://review.gluster.org/#/c/15065/ is already in 3.8 branch now, moving the state to POST
Upstream mainline : http://review.gluster.org/14780
Upstream 3.8 : http://review.gluster.org/15065
And the fix is available in rhgs-3.2.0 as part of rebase to GlusterFS 3.8.4.
Verified the bug in glusterfs-server-3.8.4-2
steps followed to verify the bug,
1) created a dist-disperse volume and created a file of size 10GB (say, file-1)
2) attached hot tier (capacity 40GB) and set high watermark to 20% i.e., 8GB
3) allowed for background fixlayout to complete on hot tier
4) kept sending writes to file-1
File did not promote to hot tier after default promotion cycle of 2 minutes. File skipped for promotion was logged properly.
[2016-10-12 03:00:01.980554] I [MSGID: 109038] [tier.c:535:tier_can_promote_file] 0-tier-vol-tier-dht: Estimated block count consumption on hot tier (2322101) exceeds hi watermark (20%). File will not be promoted.
Marking the bug as verified.
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.