Bug 1431081

Summary: symlinks trigger faulty geo-replication state (rsnapshot usecase)
Product: [Community] GlusterFS Reporter: Christian Lohmaier <lohmaier+rhbz>
Component: geo-replicationAssignee: Kotresh HR <khiremat>
Status: CLOSED WONTFIX QA Contact:
Severity: high Docs Contact:
Priority: unspecified    
Version: 3.10CC: avishwan, bugs, khiremat
Target Milestone: ---Keywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1432046 (view as bug list) Environment:
Last Closed: 2018-03-13 07:27:04 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: 1432046, 1486120, 1503174    
Bug Blocks:    

Description Christian Lohmaier 2017-03-10 10:27:11 UTC
Description of problem:
operations as done by rsnapshot easily trigger faulty geo-replication state

Version-Release number of selected component (if applicable):
3.10, but 3.8 affected the same way

How reproducible:
100%

Steps to Reproduce:
0) create volume on master and slave and setup geo-replication between them
1) mount master volume and cd to it (nfs or fuse doesn't make a difference)
2) simulate a rsnapshot run that updates a symlink like this:

mkdir /tmp/symlinkbug
ln -f -s /does/not/exist /tmp/symlinkbug/a_symlink
rsync -a /tmp/symlinkbug ./
cp -al symlinkbug symlinkbug.0
ln -f -s /does/not/exist2 /tmp/symlinkbug/a_symlink
rsync -a /tmp/symlinkbug ./
cp -al symlinkbug symlinkbug.1

(rsnapshot uses hardlinks between rotations, that's why it is using cp -al)

Actual results:
geo-replication goes to faulty state, and symlinkbug/a_symlink still points to the old location

Expected results:
geo-replication should update the link destination, and not choke/go into faulty state on the second cp -al

Additional info:
you can pause in between the steps, add checkpoints and verify those to have all steps synced separately - doesn't make a difference.

Comment 1 Worker Ant 2017-08-09 10:05:23 UTC
REVIEW: https://review.gluster.org/18011 (geo-rep: Fix syncing of hardlink of symlink) posted (#1) for review on master by Kotresh HR (khiremat)

Comment 2 Kotresh HR 2018-03-13 07:27:04 UTC
Fixed in 3.12, won't fix in 3.10