Bug 1147420

Summary: geo-rep: file with same name has diffrent gfid in master and slave
Product: [Community] GlusterFS Reporter: Aravinda VK <avishwan>
Component: geo-replicationAssignee: bugs <bugs>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: high Docs Contact:
Priority: high    
Version: 3.6.0CC: bugs
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: glusterfs-3.6.1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1143853 Environment:
Last Closed: 2014-11-10 15:13:52 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: 1060683, 1143853, 1146369, 1147433    
Bug Blocks: 1117822    

Description Aravinda VK 2014-09-29 08:47:53 UTC
+++ This bug was initially created as a clone of Bug #1143853 +++

Description of problem:
Editors like vi, RENAMES original file to temp name and then create the new file for data modification. Geo-rep fails to sync when temp files RENAME involved.

How reproducible:
Always.

Steps to Reproduce:
1. Create a file in master mount
2. Open the file in vi editor, modify and save it.

Actual results:
Geo-rep fails to sync the change, and file GFID in master will not match with GFID of slave.

Expected results:
GFID should match in both master and slave, and geo-rep should sync the changes.

--- Additional comment from Anand Avati on 2014-09-18 04:22:20 EDT ---

REVIEW: http://review.gluster.org/8761 (geo-rep: fix same file different gfid in master and slave) posted (#1) for review on master by Aravinda VK (avishwan)

--- Additional comment from Anand Avati on 2014-09-26 03:19:02 EDT ---

COMMIT: http://review.gluster.org/8761 committed in master by Venky Shankar (vshankar) 
------
commit 3c29c50cf60135245290133fbfed11aa3cf01e39
Author: Aravinda VK <avishwan>
Date:   Wed Sep 17 12:59:52 2014 +0530

    geo-rep: fix same file different gfid in master and slave
    
    While processing RENAME in changelog, if the file is unlinked
    in master, then geo-rep was sending UNLINK to slave instead of
    RENAME.
    
    If rsync job fails if one of the file failed to sync in the job.
    This patch adds logic to remove GFID from data list if the same
    changelog has UNLINK entry for it after the DATA. Or it removes
    those GFIDs during retry of changelogs processing.
    
    BUG: 1143853
    Change-Id: I982dc976397cd0ab676bb912583f66a28f821926
    Signed-off-by: Aravinda VK <avishwan>
    Reviewed-on: http://review.gluster.org/8761
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Jeff Darcy <jdarcy>
    Reviewed-by: Kotresh HR <khiremat>
    Reviewed-by: Venky Shankar <vshankar>
    Tested-by: Venky Shankar <vshankar>

--- Additional comment from Anand Avati on 2014-09-29 04:30:00 EDT ---

REVIEW: http://review.gluster.org/8879 (geo-rep: fix same file different gfid in master and slave) posted (#1) for review on release-3.6 by Aravinda VK (avishwan)

Comment 1 Anand Avati 2014-09-29 08:48:19 UTC
REVIEW: http://review.gluster.org/8879 (geo-rep: fix same file different gfid in master and slave) posted (#2) for review on release-3.6 by Aravinda VK (avishwan)

Comment 2 Anand Avati 2014-09-30 06:33:01 UTC
COMMIT: http://review.gluster.org/8879 committed in release-3.6 by Vijay Bellur (vbellur) 
------
commit c3bc8b52b560463706a409836ff7e4118695cb0a
Author: Aravinda VK <avishwan>
Date:   Wed Sep 17 12:59:52 2014 +0530

    geo-rep: fix same file different gfid in master and slave
    
    While processing RENAME in changelog, if the file is unlinked
    in master, then geo-rep was sending UNLINK to slave instead of
    RENAME.
    
    If rsync job fails if one of the file failed to sync in the job.
    This patch adds logic to remove GFID from data list if the same
    changelog has UNLINK entry for it after the DATA. Or it removes
    those GFIDs during retry of changelogs processing.
    
    BUG: 1147420
    Change-Id: I982dc976397cd0ab676bb912583f66a28f821926
    Signed-off-by: Aravinda VK <avishwan>
    Reviewed-on: http://review.gluster.org/8761
    Tested-by: Gluster Build System <jenkins.com>
    Reviewed-by: Jeff Darcy <jdarcy>
    Reviewed-by: Kotresh HR <khiremat>
    Reviewed-by: Venky Shankar <vshankar>
    Tested-by: Venky Shankar <vshankar>
    Reviewed-on: http://review.gluster.org/8879
    Reviewed-by: Vijay Bellur <vbellur>

Comment 3 Niels de Vos 2014-11-10 15:13:52 UTC
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.6.1, please reopen this bug report.

glusterfs-3.6.1 has been announced [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution.

[1] http://supercolony.gluster.org/pipermail/gluster-users/2014-November/019410.html
[2] http://supercolony.gluster.org/mailman/listinfo/gluster-users