)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"change_message_id":"fc4f89c5748c0f4fa6f652119ab26c620a016f3a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"d7142008_ad171bd6","updated":"2026-06-30 22:03:15.000000000","message":"I like this change! Just see my small comment","commit_id":"b073c7b9a0d84d10cc80c080abc605019db362f0"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"change_message_id":"9c4e9314fcf0741ec4df7df57f3eadbd8b43895a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c035fd6b_84ffe704","updated":"2026-07-13 20:02:53.000000000","message":"Looks good to me!","commit_id":"ef65f514a47711a3040e5825c1d350c84b5fe0cf"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"266fab1547827264e71bd3e9811304949932d44c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2004bbae_b192a39b","updated":"2026-07-14 06:33:25.000000000","message":"Love, let\u0027s do it. But I think we may want to move the boolean up 2 lines. See inline.","commit_id":"ef65f514a47711a3040e5825c1d350c84b5fe0cf"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"7b82e95cc3f5a9f6af6e3794e3b28f3e198edb12","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a7f305a1_96e3b5c8","updated":"2026-07-13 15:34:46.000000000","message":"recheck\n\nCORS job is no longer voting (awaiting CentOS Stream picking up new versions of OpenSSL that have the fix for https://github.com/openssl/openssl/issues/31807).","commit_id":"ef65f514a47711a3040e5825c1d350c84b5fe0cf"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"2d52b572d948f60ec0c8f52b43074487d7c51277","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3ffbffce_3f5f042c","updated":"2026-07-13 18:48:31.000000000","message":"recheck\n\nLooks like listing consistency trouble.","commit_id":"ef65f514a47711a3040e5825c1d350c84b5fe0cf"}],"swift/obj/replicator.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d244d66b443e336fa78bfccd3cbba82ce11e4607","unresolved":true,"context_lines":[{"line_number":426,"context_line":"                    \u0027Bad rsync return code: %(ret)d \u003c- %(args)s\u0027 %"},{"line_number":427,"context_line":"                    {\u0027args\u0027: str(args), \u0027ret\u0027: ret_val}))"},{"line_number":428,"context_line":"        else:"},{"line_number":429,"context_line":"            log_method \u003d self.logger.info if logged_line else self.logger.debug"},{"line_number":430,"context_line":"            log_method("},{"line_number":431,"context_line":"                \"Successful rsync of %(src)s to %(dst)s (%(time).03f)\","},{"line_number":432,"context_line":"                {\u0027src\u0027: args[-2][:-3] + \u0027...\u0027, \u0027dst\u0027: args[-1],"}],"source_content_type":"text/x-python","patch_set":1,"id":"76e38377_b068bb43","line":429,"updated":"2026-06-30 20:16:27.000000000","message":"Alternatively, we just knock it off with this conditional and decide whether we want it always at `info` or always at `debug` -- I don\u0027t really care.","commit_id":"b073c7b9a0d84d10cc80c080abc605019db362f0"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"266fab1547827264e71bd3e9811304949932d44c","unresolved":true,"context_lines":[{"line_number":415,"context_line":"                continue"},{"line_number":416,"context_line":"            if result.startswith(\u0027\u003c\u0027) and not self.log_rsync_transfers:"},{"line_number":417,"context_line":"                continue"},{"line_number":418,"context_line":"            logged_line \u003d True"},{"line_number":419,"context_line":"            if not ret_val:"},{"line_number":420,"context_line":"                self.logger.debug(result)"},{"line_number":421,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"4263073d_830bd6b3","line":418,"updated":"2026-07-14 06:33:25.000000000","message":"So we only log the `Success message` if we get here. Which sounds great, but if we decide to not log_rsync_transfers, is there a chance we don\u0027t log a success message when we did rsync something?\n\nIn my VSAIO when I manaually run an rsync I get:\n```\nvagrant@swift-gerrit-996606:~$ rsync --recursive --whole-file --human-readable --xattrs --itemize-changes --ignore-existing --timeout\u003d30 --contimeout\u003d30 --bwlimit\u003d0 --exclude\u003d\".*.[0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z][0-9a-zA-Z]\" /srv/node2/sdb2/objects/98/574 \u0027127.0.0.1::object_sdb1/sdb1/objects/98\u0027\n\u003cf+++++++++ 574/18aaea44a5bdecc9d60f1ba9a59e8574/1783928772.70750.data\n```\n\nMeaning if I had `self.log_rsync_transfers\u003dFalse` I wouldn\u0027t get a success message. Even if something was transferred. So I wonder if we should move this up of if statement, ie to line 415?","commit_id":"ef65f514a47711a3040e5825c1d350c84b5fe0cf"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"0af1d8a20fa06cce599ddbe5e6e9b7e0644030f6","unresolved":true,"context_lines":[{"line_number":415,"context_line":"                continue"},{"line_number":416,"context_line":"            if result.startswith(\u0027\u003c\u0027) and not self.log_rsync_transfers:"},{"line_number":417,"context_line":"                continue"},{"line_number":418,"context_line":"            logged_line \u003d True"},{"line_number":419,"context_line":"            if not ret_val:"},{"line_number":420,"context_line":"                self.logger.debug(result)"},{"line_number":421,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"47e86d2d_d5cfb96b","line":418,"in_reply_to":"4263073d_830bd6b3","updated":"2026-07-14 22:09:33.000000000","message":"But then when you run it again, rsync shouldn\u0027t output anything, and you won\u0027t get the success message again. (Or rather, it\u0027ll get logged at DEBUG again, which may get filtered based on your configured log level.)\n\nI think it\u0027s rare that we\u0027d go creating directories and then not transferring anything -- so moving the assignment up would mostly get us back to the status quo.\n\nI was trying to preserve the spirit of that funky conditional-log-level from before `log_rsync_transfers` was a thing: either we\u0027d log some rsync output (which I think should only be transfer details?) at debug and then the overall success at info, or we\u0027d have no rsync output and we\u0027d log overall success at debug.\n\nThe more I sit with it though, the more I feel like the conditional-log-level was a mistake, and we should either log at info all the time, or debug all the time.","commit_id":"ef65f514a47711a3040e5825c1d350c84b5fe0cf"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"5c63eb3ce1358110422dedb6b3b0a2b8bfe42318","unresolved":true,"context_lines":[{"line_number":415,"context_line":"                continue"},{"line_number":416,"context_line":"            if result.startswith(\u0027\u003c\u0027) and not self.log_rsync_transfers:"},{"line_number":417,"context_line":"                continue"},{"line_number":418,"context_line":"            logged_line \u003d True"},{"line_number":419,"context_line":"            if not ret_val:"},{"line_number":420,"context_line":"                self.logger.debug(result)"},{"line_number":421,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"0a04e90b_7f495e15","line":418,"in_reply_to":"47e86d2d_d5cfb96b","updated":"2026-07-16 23:03:08.000000000","message":"Yeah, but if the point was it\u0027ll only send success when something happened,which I thouhght was the point. My point was in my vsaio, the only output I got was the data `\u003c` and if I had that turned off then I wouldn\u0027t get a success. \n\nMaybe we\u0027re over thinking it, yeah. maybe we just make it simple, and always write out success, I mean, rsync ran, checked the neighbour and found nothing it needed to update.. that\u0027s a success.","commit_id":"ef65f514a47711a3040e5825c1d350c84b5fe0cf"}],"test/unit/obj/test_replicator.py":[{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"nmartes@NVIDIA.com","username":"nmartes"},"change_message_id":"fc4f89c5748c0f4fa6f652119ab26c620a016f3a","unresolved":true,"context_lines":[{"line_number":2406,"context_line":"                \u0027/srv/node/d1/objects/part/sf2\u0027,"},{"line_number":2407,"context_line":"                \u0027192.168.50.30::object/d8/objects/241\u0027]))"},{"line_number":2408,"context_line":"        self.assertFalse(self.logger.get_lines_for_level(\u0027error\u0027))"},{"line_number":2409,"context_line":"        debug_lines \u003d self.logger.get_lines_for_level(\u0027debug\u0027)"},{"line_number":2410,"context_line":"        self.assertEqual(debug_lines, ["},{"line_number":2411,"context_line":"            \u0027Successful rsync of /srv/node/d1/objects/part/... to \u0027"},{"line_number":2412,"context_line":"            \u0027192.168.50.30::object/d8/objects/241 (0.100)\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"c5c0463e_ca5a9b84","line":2409,"range":{"start_line":2409,"start_character":0,"end_line":2409,"end_character":62},"updated":"2026-06-30 22:03:15.000000000","message":"We can probably add\n```python\nself.assertFalse(self.logger.get_lines_for_level(\u0027info\u0027))\n```\nJust to make sure nothing is also getting logged there.","commit_id":"b073c7b9a0d84d10cc80c080abc605019db362f0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"66260f3d26559026d02105330f679e2331c34679","unresolved":false,"context_lines":[{"line_number":2406,"context_line":"                \u0027/srv/node/d1/objects/part/sf2\u0027,"},{"line_number":2407,"context_line":"                \u0027192.168.50.30::object/d8/objects/241\u0027]))"},{"line_number":2408,"context_line":"        self.assertFalse(self.logger.get_lines_for_level(\u0027error\u0027))"},{"line_number":2409,"context_line":"        debug_lines \u003d self.logger.get_lines_for_level(\u0027debug\u0027)"},{"line_number":2410,"context_line":"        self.assertEqual(debug_lines, ["},{"line_number":2411,"context_line":"            \u0027Successful rsync of /srv/node/d1/objects/part/... to \u0027"},{"line_number":2412,"context_line":"            \u0027192.168.50.30::object/d8/objects/241 (0.100)\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"5b380a76_6b71a843","line":2409,"range":{"start_line":2409,"start_character":0,"end_line":2409,"end_character":62},"in_reply_to":"824e29db_826864b5","updated":"2026-07-06 18:44:31.000000000","message":"Done","commit_id":"b073c7b9a0d84d10cc80c080abc605019db362f0"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"1bb270c667a85d5934a72e5968137294d16788a5","unresolved":true,"context_lines":[{"line_number":2406,"context_line":"                \u0027/srv/node/d1/objects/part/sf2\u0027,"},{"line_number":2407,"context_line":"                \u0027192.168.50.30::object/d8/objects/241\u0027]))"},{"line_number":2408,"context_line":"        self.assertFalse(self.logger.get_lines_for_level(\u0027error\u0027))"},{"line_number":2409,"context_line":"        debug_lines \u003d self.logger.get_lines_for_level(\u0027debug\u0027)"},{"line_number":2410,"context_line":"        self.assertEqual(debug_lines, ["},{"line_number":2411,"context_line":"            \u0027Successful rsync of /srv/node/d1/objects/part/... to \u0027"},{"line_number":2412,"context_line":"            \u0027192.168.50.30::object/d8/objects/241 (0.100)\u0027])"}],"source_content_type":"text/x-python","patch_set":1,"id":"824e29db_826864b5","line":2409,"range":{"start_line":2409,"start_character":0,"end_line":2409,"end_character":62},"in_reply_to":"c5c0463e_ca5a9b84","updated":"2026-07-01 18:45:59.000000000","message":"True! I was debating about that once I had the patch up and put my reviewer hat on. #willfix","commit_id":"b073c7b9a0d84d10cc80c080abc605019db362f0"}]}
