From e318d15b8e0e42b5acea67b769e9be2d9e85a1c1 Mon Sep 17 00:00:00 2001 From: Tim Burke Date: Tue, 19 Jan 2021 10:43:39 -0800 Subject: [PATCH] obj: Include timeout value when logging long-running rsyncs Change-Id: I5f319ce7842152d0cd367559a6108407acd65cc0 --- swift/obj/replicator.py | 3 ++- test/unit/obj/test_replicator.py | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/swift/obj/replicator.py b/swift/obj/replicator.py index f761211768..7e753d545f 100644 --- a/swift/obj/replicator.py +++ b/swift/obj/replicator.py @@ -385,7 +385,8 @@ class ObjectReplicator(Daemon): except Timeout: self.logger.error( self._limit_rsync_log( - _("Killing long-running rsync: %s") % str(args))) + _("Killing long-running rsync after %ds: %s") % ( + self.rsync_timeout, str(args)))) if proc: proc.kill() try: diff --git a/test/unit/obj/test_replicator.py b/test/unit/obj/test_replicator.py index dbfd17e04d..ee7484d4e2 100644 --- a/test/unit/obj/test_replicator.py +++ b/test/unit/obj/test_replicator.py @@ -2147,7 +2147,7 @@ class TestObjectReplicator(unittest.TestCase): mock_http_connect(200)), \ mock.patch.object(self.replicator, 'rsync_timeout', 0.01), \ mock.patch('eventlet.green.subprocess.Popen', new_mock): - self.replicator.rsync_error_log_line_length = 20 + self.replicator.rsync_error_log_line_length = 40 self.replicator.run_once() for proc in mock_procs: self.assertEqual(proc._calls, [ @@ -2158,8 +2158,8 @@ class TestObjectReplicator(unittest.TestCase): self.assertEqual(len(mock_procs), 2) error_lines = self.replicator.logger.get_lines_for_level('error') # verify logs are truncated to rsync_error_log_line_length - self.assertEqual('Killing long-running', error_lines[0]) - self.assertEqual('Killing long-running', error_lines[1]) + self.assertEqual(["Killing long-running rsync after 0s: ['r"] * 2, + error_lines) def test_replicate_rsync_timeout_wedged(self): cur_part = '0'