Senén Vidal Blanco
2020-Mar-20 09:39 UTC
[Gluster-users] Geo-Replication - Does not finish syncing - Codification Error
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.