Bug 1351071

Summary: [geo-rep] Stopped geo-rep session gets started automatically once all the master nodes are upgraded
Product: [Community] GlusterFS Reporter: Saravanakumar <sarumuga>
Component: geo-replicationAssignee: Saravanakumar <sarumuga>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: unspecified    
Version: mainlineCC: avishwan, bugs, csaba, rhinduja, storage-qa-internal
Target Milestone: ---Keywords: ZStream
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: 1347625
: 1368053 1368055 (view as bug list) Environment:
Last Closed: 2017-03-10 06:33:12 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: 1347625    
Bug Blocks: 1368053, 1368055    

Comment 1 Saravanakumar 2016-06-29 07:31:37 UTC
Once glusterfs is upgraded (which involves geo-replication slave volume uuid as part of vol info), if geo-replication status command is run, it creates an empty monitor.status file (without restarting glusterd daemon)

Now, once the glusterd is restarted after the above step, glusterd updates the monitor.status file with "Started" state.

This "Started" state gets reflected if you run "gluster volume geo-replication MasterVolume Slavehost::Slavevolume status" command.

Solution is to avoid updating monitor.status file(with "Started" status) if monitor.status is empty.

Comment 2 Vijay Bellur 2016-06-29 10:16:54 UTC
REVIEW: http://review.gluster.org/14830 (glusterd/geo-rep: Handle empty monitor.status during upgrade) posted (#1) for review on master by Saravanakumar Arumugam (sarumuga)

Comment 3 Vijay Bellur 2016-07-11 10:11:45 UTC
REVIEW: http://review.gluster.org/14830 (glusterd/geo-rep: Handle empty monitor.status during upgrade) posted (#2) for review on master by Saravanakumar Arumugam (sarumuga)

Comment 4 Vijay Bellur 2016-07-11 22:50:18 UTC
COMMIT: http://review.gluster.org/14830 committed in master by Jeff Darcy (jdarcy) 
------
commit f938b3a26ffab9482d5f910ee76d2bb2b370517f
Author: Saravanakumar Arumugam <sarumuga>
Date:   Wed Jun 29 15:36:06 2016 +0530

    glusterd/geo-rep: Handle empty monitor.status during upgrade
    
    Problem:
    Consider geo-replication is in Stopped state.
    Following which, glusterfs is upgraded (where monitor.status is the new status file).
    
    Now, When geo-replication status command is run,
    empty monitor status file gets created.
    
    Now, if glusterd is restarted, it reads empty monitor status
    and  starts geo-replication session. This is incorrect as session
    was in Stopped state earlier.
    
    Solution:
    If monitor status is empty, error out and avoid
    starting geo-replication session.
    
    Note: if monitor status is empty, geo-rep session is displayed
    as Stopped state.
    
    Change-Id: Ifb3db896e5ed92b927764cf1163503765cb08bb4
    BUG: 1351071
    Signed-off-by: Saravanakumar Arumugam <sarumuga>
    Reviewed-on: http://review.gluster.org/14830
    Smoke: Gluster Build System <jenkins.org>
    CentOS-regression: Gluster Build System <jenkins.org>
    NetBSD-regression: NetBSD Build System <jenkins.org>
    Reviewed-by: Jeff Darcy <jdarcy>