[Gluster-users] Geo-Replication - Does not finish syncing - Codification Error

Senén Vidal Blanco senenvidal at sgisoft.com
Fri Mar 20 09:39:07 UTC 2020


Hi,
I am having a problem syncing two volumes using Geo-Replication.
The entire certification and activation process works correctly. But when 
synchronization starts it stays almost at the beginning of the first files and 
never ends the job.

Checking the Glusterfs logs I find this error:

[2020-03-19 15:55:15.60848] E [syncdutils(worker /brickarchivos/archivos):
339:log_raise_exception] <top>: FAIL: 
Traceback (most recent call last):
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/syncdutils.py", 
line 369, in twrap tf(*aargs)
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/master.py", line 
1666, in Xsyncer self.Xcrawl()
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/master.py", line 
1839, in Xcrawl self.Xcrawl(e, xtr_root)
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/master.py", line 
1839, in Xcrawl self.Xcrawl(e, xtr_root)
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/master.py", line 
1839, in Xcrawl self.Xcrawl(e, xtr_root)
  [Previous line repeated 3 more times]
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/master.py", line 
1801, in Xcrawl xte = self.xtime(e)
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/master.py", line 
403, in xtime return self.xtime_low(rsc, path, **opts)
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/master.py", line 
170, in xtime_low xt = rsc.server.xtime(path, self.uuid)
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/resource.py", 
line 104, in ff return f(*args)
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/resource.py", 
line 240, in xtime 8)
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/libcxattr.py", 
line 59, in lgetxattr return gr_query_xattr(cls, path, siz, 'lgetxattr', attr)
  File "/usr/lib/x86_64-linux-gnu/glusterfs/python/syncdaemon/py2py3.py", line 
46, in gr_query_xattr return cls._query_xattr(path.encode(), size, syscall,
UnicodeEncodeError: 'utf-8' codec can't encode character '\udcba' in position 
115: surrogates not allowed

Searching the internet a bit I have found that the error is due to a character 
encoding problem. The typical diamond with the question mark.
I have had to perform a conversion of the files with this utility.

convmv -r -f cp1252 -t utf-8 /folder_of_share/ --notest

Now this is a temporary fix, since it does not guarantee that in the future 
someone will copy another file or folder with a different format than utf-8 and 
find that it stops synchronizing the rest of the contents to the slave.

Does anyone know how this problem can be corrected?

Thank you.





More information about the Gluster-users mailing list