There's been a few tweeks to rsync_error_log_line_length tunable over the years, we default to 2048 which is quite few bytes for log line...
The problem is the last argument of the command that errors is *super* relevant:
Feb 14 12:12:57 sac-eng-paco02 object-replicator: [worker 1/2 pid=30731] Bad rsync return code: 5 <- ['rsync', '--recursive', '--whole-file', '--human-readable', '--xattrs', '--itemize-changes', '--ignore-existing', '--timeout=30', '--contimeout=30', '--bwlimit=0', '--exclude=.*.[0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z]', u'/srv/node/d7/objects/62179/273', u'/srv/node/d7/objects/62179/274', u'/srv/node/d7/objects/62179/000', u'/srv/node/d7/objects/62179/001', u'/srv/node/d7/objects/62179/002', u'/srv/node/d7/objects/62179/005', u'/srv/node/d7/objects/62179/007', u'/srv/node/d7/objects/62179/00a', u'/srv/node/d7/objects/62179/00c', u'/srv/node/d7/objects/62179/00d', u'/srv/node/d7/objects/62179/00e', u'/srv/node/d7/objects/62179/011', u'/srv/node/d7/objects/62179/015', u'/srv/node/d7/objects/62179/01b', u'/srv/node/d7/objects/62179/01d', u'/srv/node/d7/objects/62179/01f', u'/srv/node/d7/objects/62179/020', u'/srv/node/d7/objects/62179/021', u'/srv/node/d7/objects/62179/027', u'/srv/node/d7/objects/62179/029', u'/srv/node/d7/objects/62179/02c', u'/srv/node/d7/objects/62179/031', u'/srv/node/d7/objects/62179/035', u'/srv/node/d7/objects/62179/039', u'/srv/node/d7/objects/62179/03c', u'/srv/node/d7/objects/62179/03d', u'/srv/node/d7/objects/62179/042', u'/srv/node/d7/objects/62179/046', u'/srv/node/d7/objects/62179/050', u'/srv/node/d7/objects/62179/051', u'/srv/node/d7/objects/62179/052', u'/srv/node/d7/objects/62179/057', u'/srv/node/d7/objects/62179/058', u'/srv/node/d7/objects/62179/05a', u'/srv/node/d7/objects/62179/064', u'/srv/node/d7/objects/62179/06a', u'/srv/node/d7/objects/62179/076', u'/srv/node/d7/objects/62179/078', u'/srv/node/d7/objects/62179/079', u'/srv/node/d7/objects/62179/07a', u'/srv/node/d7/objects/62179/080', u'/srv/node/d7/objects/62179/081', u'/srv/node/d7/objects/62179/086', u'/srv/node/d7/objects/62179/089', u'/srv/node/d7/objects/62179/08a', u'/srv/node/d7/objects/62179/091', u'/srv/node/d7/objects/62179/09c', u'/srv/node/d7/objects/62179/09e', u'/srv/node/d7/objects/62179/09f', u'/srv/node/d7/objects/62179/0a1', u'/srv/node/d7/objects
^ BUT WHERE!?
the end of the story is something like:
u'/srv/node/d6/objects/16449/fd1', u'/srv/node/d6/objects/16449/fd2', u'/srv/node/d6/objects/16449/fd6', u'/srv/node/d6/objects/16449/fd8', u'/srv/node/d6/objects/16449/fda', u'/srv/node/d6/objects/16449/fea', u'/srv/node/d6/objects/16449/fee', u'/srv/node/d6/objects/16449/ff2', u'/srv/node/d6/objects/16449/ff5', u'/srv/node/d6/objects/16449/ffa', u'/srv/node/d6/objects/16449/ffc', u'192.168.64.151::object_d62/d62/objects/16449']
We should use the bytes in the configured max line length better and try to get in that node ip and rsync module into the log message
i.e.
diff --git a/swift/obj/replicator.py b/swift/obj/replicator.py
index 762a77ea4..8af3f97cb 100644
--- a/swift/obj/replicator.py
+++ b/swift/obj/replicator.py
@@ -349,7 +349,8 @@ class ObjectReplicator(Daemon):
otherwise the initial line.
"""
if self.rsync_error_log_line_length:
- return line[:self.rsync_error_log_line_length]
+ half = int(self.rsync_error_log_line_length / 2)
+ return '...'.join((line[:half], line[:-half]))
return line
Or log two lines? Or update the message to something like
[worker 1/2 pid=30731] Bad rsync return code talking to 192.168. 64.151: :object_ d62: 5 <- ['rsync', ...
?