Bug 1426952
| Summary: | [geo-rep]: extended attributes are not synced if the entry and extended attributes are done within changelog roleover/or entry sync | |||
|---|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Gluster Storage | Reporter: | Rahul Hinduja <rhinduja> | |
| Component: | geo-replication | Assignee: | Mohammed Rafi KC <rkavunga> | |
| Status: | CLOSED ERRATA | QA Contact: | Rahul Hinduja <rhinduja> | |
| Severity: | high | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | rhgs-3.2 | CC: | amukherj, asrivast, csaba, khiremat, rhs-bugs, storage-qa-internal | |
| Target Milestone: | --- | |||
| Target Release: | RHGS 3.3.0 | |||
| Hardware: | x86_64 | |||
| OS: | Linux | |||
| Whiteboard: | ||||
| Fixed In Version: | glusterfs-3.8.4-26 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1448914 (view as bug list) | Environment: | ||
| Last Closed: | 2017-09-21 04:33: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: | ||||
| Bug Blocks: | 1417147, 1448914, 1463513 | |||
|
Description
Rahul Hinduja
2017-02-26 18:11:36 UTC
Analysis: This is not a regression. This is a day one bug. There is an optimization in changelog to not record multiple METADATA ops on single gfid with in a changelog. I think this was because there was no extended attribute support during that time and only supported SETATTR. Now since we also support SETXATTR, if SETATTR is already recorded for gfid1, we would miss recording SETXATTR on gfid1. Hence setxattr would not get synced. This bug will affect the user set extended attributes if any. The solution would be to remove the optimization for METADATA fops and keep it only for DATA fops. upstream master patch : https://review.gluster.org/#/c/17205/ Verified with build: glusterfs-geo-replication-3.8.4-38.el7rhgs.x86_64 Carried the steps mentioned in the description. Now even if the xattrs are set just after entry, they are properly logged into the same change logs and gets synced to slave properly. Master: ======= [root@dhcp37-115 master]# touch r.3 ; setfattr -n user.rtest1 -v 100112 r.3 [root@dhcp37-115 master]# getfattr -d -e hex -m . r.3 # file: r.3 security.selinux=0x73797374656d5f753a6f626a6563745f723a6675736566735f743a733000 user.rtest1=0x313030313132 [root@dhcp37-115 master]# Slave: ====== [root@dhcp37-115 slave]# getfattr -d -e hex -m . r.3 # file: r.3 security.selinux=0x73797374656d5f753a6f626a6563745f723a6675736566735f743a733000 user.rtest1=0x313030313132 [root@dhcp37-115 slave]# Processed changelog: ==================== [root@dhcp42-79 .processed]# cat CHANGELOG.1502213056 E 69e37a25-ad03-4dbb-9e59-625831db93e6 CREATE 33188 0 0 00000000-0000-0000-0000-000000000001%2Fr.3 M 69e37a25-ad03-4dbb-9e59-625831db93e6 SETATTR M 69e37a25-ad03-4dbb-9e59-625831db93e6 SETXATTR [root@dhcp42-79 .processed]# Moving this bug to verified state. 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://access.redhat.com/errata/RHBA-2017:2774 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://access.redhat.com/errata/RHBA-2017:2774 |