[Gluster-users] 4.1.x geo-replication "changelogs could not be processed completely" issue

Kotresh Hiremath Ravishankar khiremat at redhat.com
Wed Sep 12 05:31:07 UTC 2018


Answer inline.

On Tue, Sep 11, 2018 at 4:19 PM, Kotte, Christian (Ext) <
christian.kotte at novartis.com> wrote:

> Hi all,
>
>
>
> I use glusterfs 4.1.3 non-root user geo-replication in a cascading setup.
> The gsyncd.log on the master is fine, but I have some strange changelog
> warnings and errors on the interimmaster:
>
>
>
> gsyncd.log
>
>>
> [2018-09-11 10:38:35.575464] I [master(worker
> /bricks/brick1/brick):1460:crawl] _GMaster: slave's time
> stime=(1536662250, 0)
>
> [2018-09-11 10:38:37.126749] I [master(worker
> /bricks/brick1/brick):1944:syncjob] Syncer: Sync Time Taken
> duration=1.4698 num_files=1     job=1   return_code=23
>
> [2018-09-11 10:38:37.128668] W [master(worker
> /bricks/brick1/brick):1346:process] _GMaster: incomplete sync, retrying
> changelogs        files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:39.353209] I [master(worker
> /bricks/brick1/brick):1944:syncjob] Syncer: Sync Time Taken
> duration=1.4057 num_files=1     job=2   return_code=23
>
> [2018-09-11 10:38:39.354737] W [master(worker
> /bricks/brick1/brick):1346:process] _GMaster: incomplete sync, retrying
> changelogs        files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:41.501187] I [master(worker
> /bricks/brick1/brick):1944:syncjob] Syncer: Sync Time Taken
> duration=1.4781 num_files=1     job=3   return_code=23
>
> [2018-09-11 10:38:41.503048] W [master(worker
> /bricks/brick1/brick):1346:process] _GMaster: incomplete sync, retrying
> changelogs        files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:43.575047] I [master(worker
> /bricks/brick1/brick):1944:syncjob] Syncer: Sync Time Taken
> duration=1.4385 num_files=1     job=1   return_code=23
>
> [2018-09-11 10:38:43.576597] W [master(worker
> /bricks/brick1/brick):1346:process] _GMaster: incomplete sync, retrying
> changelogs        files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:45.838089] I [master(worker
> /bricks/brick1/brick):1944:syncjob] Syncer: Sync Time Taken
> duration=1.4765 num_files=1     job=2   return_code=23
>
> [2018-09-11 10:38:45.840205] W [master(worker
> /bricks/brick1/brick):1346:process] _GMaster: incomplete sync, retrying
> changelogs        files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:47.969033] I [master(worker
> /bricks/brick1/brick):1944:syncjob] Syncer: Sync Time Taken
> duration=1.4602 num_files=1     job=3   return_code=23
>
> [2018-09-11 10:38:47.970118] W [master(worker
> /bricks/brick1/brick):1346:process] _GMaster: incomplete sync, retrying
> changelogs        files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:50.54420] I [master(worker /bricks/brick1/brick):1944:syncjob]
> Syncer: Sync Time Taken        duration=1.4717 num_files=1     job=1
> return_code=23
>
> [2018-09-11 10:38:50.56072] W [master(worker /bricks/brick1/brick):1346:process]
> _GMaster: incomplete sync, retrying changelogs
> files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:52.317955] I [master(worker
> /bricks/brick1/brick):1944:syncjob] Syncer: Sync Time Taken
> duration=1.4711 num_files=1     job=2   return_code=23
>
> [2018-09-11 10:38:52.319642] W [master(worker
> /bricks/brick1/brick):1346:process] _GMaster: incomplete sync, retrying
> changelogs        files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:54.448926] I [master(worker
> /bricks/brick1/brick):1944:syncjob] Syncer: Sync Time Taken
> duration=1.4715 num_files=1     job=3   return_code=23
>
> [2018-09-11 10:38:54.451127] W [master(worker
> /bricks/brick1/brick):1346:process] _GMaster: incomplete sync, retrying
> changelogs        files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:56.538007] I [master(worker
> /bricks/brick1/brick):1944:syncjob] Syncer: Sync Time Taken
> duration=1.4759 num_files=1     job=1   return_code=23
>
> [2018-09-11 10:38:56.538914] E [master(worker
> /bricks/brick1/brick):1325:process] _GMaster: changelogs could not be
> processed completely - moving on... files=['CHANGELOG.1536662311']
>
> [2018-09-11 10:38:56.544816] I [master(worker
> /bricks/brick1/brick):1374:process] _GMaster: Entry Time Taken    MKD=0
> MKN=0   LIN=0   SYM=0   REN=0   RMD=0   CRE=0   duration=0.0000 UNL=0
>
> [2018-09-11 10:38:56.545031] I [master(worker
> /bricks/brick1/brick):1384:process] _GMaster: Data/Metadata Time Taken
> SETA=0  SETX=0  meta_duration=0.0000    data_duration=1536662336.5450
> DATA=0  XATT=0
>
> [2018-09-11 10:38:56.545356] I [master(worker
> /bricks/brick1/brick):1394:process] _GMaster: Batch Completed
> changelog_end=1536662311        entry_stime=None
> changelog_start=1536662311      stime=(1536662310, 0)
> duration=20.9674        num_changelogs=1        mode=live_changelog
>


There seems to be a bug, please raise a bug. For now as a work around add
the following line at the end on all the master node's configuration with
any editor. After adding it on all master nodes, stop and start geo-rep.

rsync-options = --ignore-missing-args

configuration file:
/var/lib/glusterd/geo-replication/<mastervol>_<slave_node>_<slave/vol>gsyncd.conf







>
> I had those issues in the past with 4.1.2 as well. I could fix it only by
> deleting the geo-replication and the gluster volume and re-create
> everything.
>
>
>
> If I delete the geo-replication and delete the changelogs directory or the
> CHANGELOG files, I get this error:
>
>
>
> gsyncd.log
>
>>
> [2018-09-11 10:26:44.928277] E [repce(agent /bricks/brick1/brick):105:worker]
> <top>: call failed:
>
> Traceback (most recent call last):
>
>   File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 101, in
> worker
>
>     res = getattr(self.obj, rmeth)(*in_data[2:])
>
>   File "/usr/libexec/glusterfs/python/syncdaemon/changelogagent.py", line
> 53, in history
>
>     num_parallel)
>
>   File "/usr/libexec/glusterfs/python/syncdaemon/libgfchangelog.py", line
> 101, in cl_history_changelog
>
>     cls.raise_changelog_err()
>
>   File "/usr/libexec/glusterfs/python/syncdaemon/libgfchangelog.py", line
> 28, in raise_changelog_err
>
>     raise ChangelogException(errn, os.strerror(errn))
>
> ChangelogException: [Errno 61] No data available
>
>>
>
>
> Or
>
>
>
> Traceback (most recent call last):
>
>   File "/usr/libexec/glusterfs/python/syncdaemon/repce.py", line 101, in
> worker
>
>     res = getattr(self.obj, rmeth)(*in_data[2:])
>
>   File "/usr/libexec/glusterfs/python/syncdaemon/changelogagent.py", line
> 53, in history
>
>     num_parallel)
>
>   File "/usr/libexec/glusterfs/python/syncdaemon/libgfchangelog.py", line
> 101, in cl_history_changelog
>
>     cls.raise_changelog_err()
>
>   File "/usr/libexec/glusterfs/python/syncdaemon/libgfchangelog.py", line
> 28, in raise_changelog_err
>
>     raise ChangelogException(errn, os.strerror(errn))
>
> ChangelogException: [Errno 2] No such file or directory
>

Please share the changelog log file to debug this. On the same node where
you got this traceback, on same location, share the following log file
"changes-bricks-brick1-brick.log"


>
> I read somewhere that if I delete the geo-replication with
> “reset-sync-time”, the changelogs are cleared, but this doesn’t happen.
>

changelogs are not cleared, but in the new geo-rep session, the old
changelogs are not used for syncing.

>
>
> How can I reset the changelog without deleting all data?
>
>
>
I didn't understand clearly what is the requirement here. Could you
elaborate?

> Regards,
>
>
>
> Christian Kotte
>
> _______________________________________________
> Gluster-users mailing list
> Gluster-users at gluster.org
> https://lists.gluster.org/mailman/listinfo/gluster-users
>



-- 
Thanks and Regards,
Kotresh H R
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gluster.org/pipermail/gluster-users/attachments/20180912/719b7511/attachment.html>


More information about the Gluster-users mailing list