Description of problem: gsyncd needs to be restarted whenever the sync method is changed from tar+ssh to rsync or vice versa. But when use-tarssh it set to true using geo-rep config CLI while it is already in true gsyncd still restarts. This should not be the case ideally. gsyncd should restart only when there is a change in the sync method. Version-Release number of selected component (if applicable): glusterfs-3.4.0.44rhs-1.el6rhs.x86_64 How reproducible: Always Steps to Reproduce: 1. gluster v geo master slave_node::slave config use-tarssh true 2. gluster v geo master slave_node::slave config use-tarssh true Actual results: status before running the config [root@pythagoras ]# gluster v geo master euclid::slave status MASTER NODE MASTER VOL MASTER BRICK SLAVE STATUS CHECKPOINT STATUS CRAWL STATUS ----------------------------------------------------------------------------------------------------------------------------------- pythagoras.blr.redhat.com master /rhs/bricks/brick0 euclid::slave Active N/A Changelog Crawl aryabhatta.blr.redhat.com master /rhs/bricks/brick1 gauss::slave Passive N/A N/A ramanujan.blr.redhat.com master /rhs/bricks/brick2 riemann::slave Active N/A Changelog Crawl archimedes.blr.redhat.com master /rhs/bricks/brick3 euler::slave Passive N/A N/A [root@pythagoras ]# gluster v geo master euclid::slave config use-tarssh true geo-replication config updated successfully gsyncd restarts after config change [root@pythagoras ]# gluster v geo master euclid::slave status MASTER NODE MASTER VOL MASTER BRICK SLAVE STATUS CHECKPOINT STATUS CRAWL STATUS ---------------------------------------------------------------------------------------------------------------------------------------- pythagoras.blr.redhat.com master /rhs/bricks/brick0 euclid::slave Initializing... N/A N/A ramanujan.blr.redhat.com master /rhs/bricks/brick2 riemann::slave Initializing... N/A N/A aryabhatta.blr.redhat.com master /rhs/bricks/brick1 gauss::slave Initializing... N/A N/A archimedes.blr.redhat.com master /rhs/bricks/brick3 euler::slave Initializing... N/A N/A And then it becomes stable. [root@pythagoras ]# gluster v geo master euclid::slave status MASTER NODE MASTER VOL MASTER BRICK SLAVE STATUS CHECKPOINT STATUS CRAWL STATUS ----------------------------------------------------------------------------------------------------------------------------------- pythagoras.blr.redhat.com master /rhs/bricks/brick0 euclid::slave Active N/A Changelog Crawl aryabhatta.blr.redhat.com master /rhs/bricks/brick1 gauss::slave Passive N/A N/A archimedes.blr.redhat.com master /rhs/bricks/brick3 euler::slave Passive N/A N/A ramanujan.blr.redhat.com master /rhs/bricks/brick2 riemann::slave Active N/A Changelog Crawl run config to set it to true again [root@pythagoras ]# gluster v geo master euclid::slave config use-tarssh true geo-replication config updated successfully status after config use-tarssh to true again [root@pythagoras ]# gluster v geo master euclid::slave status MASTER NODE MASTER VOL MASTER BRICK SLAVE STATUS CHECKPOINT STATUS CRAWL STATUS ---------------------------------------------------------------------------------------------------------------------------------------- pythagoras.blr.redhat.com master /rhs/bricks/brick0 euclid::slave Initializing... N/A N/A archimedes.blr.redhat.com master /rhs/bricks/brick3 euler::slave Initializing... N/A N/A ramanujan.blr.redhat.com master /rhs/bricks/brick2 riemann::slave Initializing... N/A N/A aryabhatta.blr.redhat.com master /rhs/bricks/brick1 gauss::slave Initializing... N/A N/A gsyncd is restarting again Expected results: gsyncd should not restart in case it is not changing the syncing method. Additional info: [root@pythagoras ]# grep "sync engine" /var/log/glusterfs/geo-replication/master/ssh%3A%2F%2Froot%4010.70.37.188%3Agluster%3A%2F%2F127.0.0.1%3Aslave.log [2013-11-14 01:12:55.752557] I [master(/rhs/bricks/brick0):352:__init__] _GMaster: using 'rsync' as the sync engine [2013-11-14 01:12:55.755635] I [master(/rhs/bricks/brick0):352:__init__] _GMaster: using 'rsync' as the sync engine [2013-11-14 01:16:05.322597] I [master(/rhs/bricks/brick0):349:__init__] _GMaster: using 'tar over ssh' as the sync engine [2013-11-14 01:16:05.323045] I [master(/rhs/bricks/brick0):349:__init__] _GMaster: using 'tar over ssh' as the sync engine [2013-11-14 01:17:51.913451] I [master(/rhs/bricks/brick0):349:__init__] _GMaster: using 'tar over ssh' as the sync engine [2013-11-14 01:17:51.913904] I [master(/rhs/bricks/brick0):349:__init__] _GMaster: using 'tar over ssh' as the sync engine
This is patch http://review.gluster.org/6897 merged upstream and now available in downstream. Fixed in Version: glusterfs-3.6.0.2-1
Fixed as a part of the rebase, marking the bz for Denali
verified on the build glusterfs-3.6.0.12-1.el6rhs
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. http://rhn.redhat.com/errata/RHEA-2014-1278.html