Bug 1241862
Summary: | EC volume: Replace bricks is not healing version of root directory | |||
---|---|---|---|---|
Product: | [Red Hat Storage] Red Hat Gluster Storage | Reporter: | RajeshReddy <rmekala> | |
Component: | disperse | Assignee: | Ashish Pandey <aspandey> | |
Status: | CLOSED ERRATA | QA Contact: | Bhaskarakiran <byarlaga> | |
Severity: | high | Docs Contact: | ||
Priority: | unspecified | |||
Version: | rhgs-3.1 | CC: | annair, aspandey, asriram, asrivast, mzywusko, pkarampu, rhs-bugs, rmekala, storage-qa-internal | |
Target Milestone: | --- | Keywords: | ZStream | |
Target Release: | RHGS 3.1.1 | |||
Hardware: | Unspecified | |||
OS: | Unspecified | |||
Whiteboard: | ||||
Fixed In Version: | glusterfs-3.7.1-14 | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | ||
Clone Of: | ||||
: | 1243382 (view as bug list) | Environment: | ||
Last Closed: | 2015-10-05 07:19: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: | 1243382, 1243384, 1251815 |
Description
RajeshReddy
2015-07-10 09:27:28 UTC
Even after running gluster vol heal <ECVOL> full i am hitting this issue, I am able to see metadata version difference between old brick and replaced brick Old brick ============ [root@rhs-hpc-srv2 bitrot]# getfattr -d -e hex -m. /rhs/brick1/ECVOL/ getfattr: Removing leading '/' from absolute path names # file: rhs/brick1/ECVOL/ security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a64656661756c745f743a733000 trusted.ec.dirty=0x00000000000000000000000000000000 trusted.ec.version=0x00000000000000010000000000000004 trusted.gfid=0x00000000000000000000000000000001 trusted.glusterfs.dht=0x000000010000000000000000ffffffff trusted.glusterfs.volume-id=0xfe1bd921b58e47b4bcdefcb2abf64a5f Replaced Brick: ================[root@rhs-hpc-srv2 bitrot]# getfattr -d -e hex -m. /rhs/brick2/ECVOL/ getfattr: Removing leading '/' from absolute path names # file: rhs/brick2/ECVOL/ security.selinux=0x756e636f6e66696e65645f753a6f626a6563745f723a66696c655f743a733000 trusted.ec.version=0x00000000000000000000000000000004 trusted.gfid=0x00000000000000000000000000000001 trusted.glusterfs.dht=0x000000010000000000000000ffffffff trusted.glusterfs.volume-id=0xfe1bd921b58e47b4bcdefcb2abf64a5f Heal is not yet completed. ec.version xattr should become trusted.ec.version=0x00000000000000010000000000000004 after the heal, then only it will start to work. Other sub directories has same version but root folder doesn't have same version With help from Rajesh we found the root cause. Replace-brick functionality is working but the versions of root directory are not set correctly due to which when other bricks are taken down EIO error is coming. Changed the description of the bug to reflect this behaviour as replace-brick itself is healing data. Please review and sign off to be included in the known issues chapter. Looks good to me Anjana Verified this on 3.7.1-14 build and root directory is getting healed. [root@interstellar ~]# gluster v info vol2 Volume Name: vol2 Type: Disperse Volume ID: d4a0627c-7a03-4fdd-bf32-c6f4eff9e0d6 Status: Started Number of Bricks: 1 x (4 + 2) = 6 Transport-type: tcp Bricks: Brick1: transformers:/rhs/brick7/vol2-1 Brick2: interstellar:/rhs/brick7/vol2-2 Brick3: transformers:/rhs/brick8/vol2-3 Brick4: interstellar:/rhs/brick8/vol2-4 Brick5: transformers:/rhs/brick9/vol2-5 Brick6: interstellar:/rhs/brick9/vol2-6 Options Reconfigured: cluster.disperse-self-heal-daemon: enable disperse.background-heals: 0 server.event-threads: 2 client.event-threads: 2 features.quota-deem-statfs: on features.inode-quota: on features.quota: on features.uss: on performance.readdir-ahead: on old brick: ========== [root@interstellar ~]# getfattr -d -e hex -m. /rhs/brick10/vol2-4/ getfattr: Removing leading '/' from absolute path names # file: rhs/brick10/vol2-4/ security.selinux=0x73797374656d5f753a6f626a6563745f723a676c7573746572645f627269636b5f743a733000 trusted.ec.version=0x00000000000000050000000000000007 trusted.gfid=0x00000000000000000000000000000001 trusted.glusterfs.dht=0x000000010000000000000000ffffffff trusted.glusterfs.quota.dirty=0x3000 trusted.glusterfs.quota.size=0x0000000033ee1000000000000000ff6b000000000000276f trusted.glusterfs.volume-id=0xd4a0627c7a034fddbf32c6f4eff9e0d6 replaced brick : ================ [root@interstellar ~]# getfattr -d -e hex -m. /rhs/brick8/vol2-4/ getfattr: Removing leading '/' from absolute path names # file: rhs/brick8/vol2-4/ security.selinux=0x73797374656d5f753a6f626a6563745f723a676c7573746572645f627269636b5f743a733000 trusted.ec.version=0x00000000000000050000000000000007 trusted.gfid=0x00000000000000000000000000000001 trusted.glusterfs.dht=0x000000010000000000000000ffffffff trusted.glusterfs.quota.dirty=0x3000 trusted.glusterfs.quota.size=0x0000000033ee1000000000000000ff6b000000000000276f trusted.glusterfs.volume-id=0xd4a0627c7a034fddbf32c6f4eff9e0d6 [root@interstellar ~]# Moving this to 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. https://rhn.redhat.com/errata/RHSA-2015-1845.html |