Bug 1299814

Summary: [geo-rep]: Disable recording SETXATTR for glusterfs.volume-mark on slave if changelogs are enabled
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Rahul Hinduja <rhinduja>
Component: geo-replicationAssignee: Bug Updates Notification Mailing List <rhs-bugs>
Status: CLOSED WONTFIX QA Contact: storage-qa-internal <storage-qa-internal>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rhgs-3.1CC: avishwan, chrisw, csaba, nlevinki
Target Milestone: ---Keywords: ZStream
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-04-16 15:57:20 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:

Description Rahul Hinduja 2016-01-19 10:28:44 UTC
Description of problem:
=======================

If changelogs are enabled on slave volume in geo-replication setup. All the bricks records changelogs every minute with following:

[root@dhcp47-94 changelogs]# cat CHANGELOG.1453199034
GlusterFS Changelog | version: v1.2 | encoding : 2
M00000000-0000-0000-0000-00000000000117
[root@dhcp47-94 changelogs]# 
[root@dhcp47-94 changelogs]# cat CHANGELOG.1453199094
GlusterFS Changelog | version: v1.2 | encoding : 2
M00000000-0000-0000-0000-00000000000117
[root@dhcp47-94 changelogs]# 

[root@dhcp47-94 changelogs]# ls | grep CHANGELOG | wc -l 
193
[root@dhcp47-94 changelogs]# getfattr -d -e hex -m . /rhs/brick1/b1/
getfattr: Removing leading '/' from absolute path names
# file: rhs/brick1/b1/
security.selinux=0x73797374656d5f753a6f626a6563745f723a676c7573746572645f627269636b5f743a733000
trusted.gfid=0x00000000000000000000000000000001
trusted.glusterfs.59c23385-352d-43db-b11a-0744cee045aa.xtime=0x569de19e00079e23
trusted.glusterfs.dht=0x000000010000000000000000ffffffff
trusted.glusterfs.volume-id=0xfb1b6f0c13ad4dd88c77443b6c0033fe
trusted.glusterfs.volume-mark.59c23385-352d-43db-b11a-0744cee045aa=0x010059c23385352d43dbb11a0744cee045aa00569de18d000b7f2e569e0eed

[root@dhcp47-94 changelogs]# ls | grep CHANGELOG | wc -l 
193
[root@dhcp47-94 changelogs]# getfattr -d -e hex -m . /rhs/brick1/b1/
getfattr: Removing leading '/' from absolute path names
# file: rhs/brick1/b1/
security.selinux=0x73797374656d5f753a6f626a6563745f723a676c7573746572645f627269636b5f743a733000
trusted.gfid=0x00000000000000000000000000000001
trusted.glusterfs.59c23385-352d-43db-b11a-0744cee045aa.xtime=0x569de19e00079e23
trusted.glusterfs.dht=0x000000010000000000000000ffffffff
trusted.glusterfs.volume-id=0xfb1b6f0c13ad4dd88c77443b6c0033fe
trusted.glusterfs.volume-mark.59c23385-352d-43db-b11a-0744cee045aa=0x010059c23385352d43dbb11a0744cee045aa00569de18d000b7f2e569e0f29

[root@dhcp47-94 changelogs]# ls | grep CHANGELOG | wc -l 
194
[root@dhcp47-94 changelogs]# 

The above are unnecessary to be processed which might delay the performance in rsync as the changelogs are picked in bulk. 

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

glusterfs-3.7.5-16.el7rhgs.x86_64

How reproducible:
=================

1/1


Steps to Reproduce:
====================
1. Enable changelog on slave volume
2. Monitor changelogs for the bricks

Actual results:
===============

It records changelogs without any actual IO

Comment 2 Aravinda VK 2016-01-19 10:39:59 UTC
No side effects except extra changelogs.

RCA:
Volume-mark xattr is updated by Geo-rep for every heartbeat. Changelog can skip recording SETXATTR if xattr key starts with "trusted.glusterfs.volume-mark" or any other internal xattrs create/update.