Bug 1272341

Summary: Data Tiering:Promotions fail when brick of EC (disperse) cold layer are down
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Nag Pavan Chilakam <nchilaka>
Component: tierAssignee: Dan Lambright <dlambrig>
Status: CLOSED ERRATA QA Contact: Neha <nerawat>
Severity: high Docs Contact:
Priority: urgent    
Version: rhgs-3.1CC: asrivast, byarlaga, dlambrig, rhs-bugs, sankarshan, sashinde, storage-qa-internal
Target Milestone: ---Keywords: ZStream
Target Release: RHGS 3.1.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.7.5-5 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1272334 Environment:
Last Closed: 2016-03-01 05:41:25 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: 1272334, 1273215    
Bug Blocks: 1260783, 1260923    

Description Nag Pavan Chilakam 2015-10-16 07:20:27 UTC
+++ This bug was initially created as a clone of Bug #1272334 +++

Description of problem:
======================
When a brick of a EC cold layer is down, promotions fail due to following error
[2015-10-16 06:43:59.589013] E [socket.c:2278:socket_connect_finish] 0-ecvol-client-5: connection to 10.70.34.43:49243 failed (Connection refused)
[2015-10-16 06:44:00.128952] E [MSGID: 109037] [tier.c:939:tier_process_brick] 0-tier: Failed gettingjournal_mode of sql db /rhs/brick3/ecvol/.glusterfs/ecvol.db
[2015-10-16 06:44:00.128989] E [MSGID: 109087] [tier.c:1033:tier_build_migration_qfile] 0-ecvol-tier-dht: Brick query failed



While the error makes complete sense, we must handle this scenario, where db can be built or vetoed using the remaining up and running bricks as long as EC quorum is not breached.

I.e in a 4+2 ec cold layer, even if 2 bricks are down, then the data is as good as available as the quorum of 4 bricks is met. hence db should be built and used based on these 4.

Version-Release number of selected component (if applicable):
============================================================
glusterfs-server-3.7.5-0.22.gitb8ba012.el7.centos.x86_64



Steps to Reproduce:
=================
1.create a ec 4+2 vol and start it
2.Now create a file f1 and then bring down 1 or 2 bricks
3.Now modify f1
4. attach tier and modify f1 to heat it
5. Now create new file h1 and wait for it to be demoted
6. Now touch/modify h1 after it is demoted

Actual results:
===================
both f1 and h1 fail to get promoted

--- Additional comment from nchilaka on 2015-10-16 03:18:30 EDT ---

logs and sosreport available @ /home/repo/sosreports/nchilaka/bug.1272334
[nchilaka@rhsqe-repo bug.1272334]$ hostname
rhsqe-repo.lab.eng.blr.redhat.com

Comment 3 Dan Lambright 2015-10-19 23:52:56 UTC
Due to a bug in the migration tier_build_migration_qfile(), when a single brick is down, migration on all the bricks is aborted. Fix is to flag the error but not abort work on other bricks.

[2015-10-19 19:48:00.374129] E [MSGID: 109037] [tier.c:949:tier_process_brick] 0-tier: Failed gettingjournal_mode of sql db /home/t0/.glusterfs/t0.db
[2015-10-19 19:48:00.374146] E [MSGID: 109087] [tier.c:1043:tier_build_migration_qfile] 0-vol1-tier-dht: Brick query failed

Comment 5 Bhaskarakiran 2015-11-27 09:28:35 UTC
Pls post the patch details.

Comment 9 errata-xmlrpc 2016-03-01 05:41:25 UTC
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/RHBA-2016-0193.html