)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"c28f17f12b166600f2a635ac2d34c0a865e79528","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"25a94c24_b0e26f4e","updated":"2022-05-27 15:58:48.000000000","message":"recheck\n\nProbe test failure looks like some transient network error, maybe?\n\n May 26 20:42:41 centos-7-ovh-bhs1-0029795908 proxy-server: STDERR: (23915) accepted (\u0027127.0.0.1\u0027, 45096)\n May 26 20:42:42 centos-7-ovh-bhs1-0029795908 proxy-server: Object returning 503 for [] (txn: tx8075cfb54187491bab72a-00628fe641) (client_ip: 127.0.0.1)\n May 26 20:42:42 centos-7-ovh-bhs1-0029795908 proxy-server: STDERR: 127.0.0.1 - - [26/May/2022 20:42:42] \"GET /v1/AUTH_test/container-524767d6-3af1-40eb-835e-31e4f99dfc61/object-1872027a-f9e8-4472-91ab-9ae58baac683 HTTP/1.1\" 503 360 0.039760 (txn: tx8075cfb54187491bab72a-00628fe641)\n\nWe should consider using a proper Connection around https://github.com/openstack/swift/blob/master/test/probe/common.py#L686-L689 so we get retries automatically.","commit_id":"7e691768171be9ccf0a1f6f5ac7630e83b5c9344"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d2df3f8ba3350f924e1bf95128a3b6260c901f2d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5d3a0cea_0f59dac0","updated":"2022-05-03 17:34:15.000000000","message":"recheck\n\nSlow probe test was resolved by https://review.opendev.org/c/openstack/swift/+/839828/","commit_id":"7e691768171be9ccf0a1f6f5ac7630e83b5c9344"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"9d01e4bb5856119fa7aba36714262e9531768fe8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"cc892391_bc12bbe6","updated":"2022-05-26 19:46:45.000000000","message":"recheck\n\npy36 constraints patch has merged; these should pass now.","commit_id":"7e691768171be9ccf0a1f6f5ac7630e83b5c9344"}],"swift/obj/replicator.py":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ac2200ca41e4c20965cbbe51f067e7d09128afb0","unresolved":true,"context_lines":[{"line_number":416,"context_line":"            if result.startswith(\u0027cd+\u0027):"},{"line_number":417,"context_line":"                continue"},{"line_number":418,"context_line":"            if result.startswith(\u0027\u003c\u0027) and not self.log_rsync_transfers:"},{"line_number":419,"context_line":"                continue"},{"line_number":420,"context_line":"            if not ret_val:"},{"line_number":421,"context_line":"                self.logger.debug(result)"},{"line_number":422,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"f00be804_75c7b209","line":419,"updated":"2022-04-27 13:52:46.000000000","message":"so the option disables error reporting as well as success? that surprised me","commit_id":"addafdf973b7d749a3c94819a3547a4ceedf4c3a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d2df3f8ba3350f924e1bf95128a3b6260c901f2d","unresolved":true,"context_lines":[{"line_number":416,"context_line":"            if result.startswith(\u0027cd+\u0027):"},{"line_number":417,"context_line":"                continue"},{"line_number":418,"context_line":"            if result.startswith(\u0027\u003c\u0027) and not self.log_rsync_transfers:"},{"line_number":419,"context_line":"                continue"},{"line_number":420,"context_line":"            if not ret_val:"},{"line_number":421,"context_line":"                self.logger.debug(result)"},{"line_number":422,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":2,"id":"a863c884_97bcb54a","line":419,"in_reply_to":"f00be804_75c7b209","updated":"2022-05-03 17:34:15.000000000","message":"Yeah -- ops don\u0027t find it useful when expanding a 1,000 node cluster. rsync hits some I/O error a few hundred suffixes in, I don\u0027t really care what exactly got sent.","commit_id":"addafdf973b7d749a3c94819a3547a4ceedf4c3a"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"ac2200ca41e4c20965cbbe51f067e7d09128afb0","unresolved":true,"context_lines":[{"line_number":425,"context_line":"            self.logger.error("},{"line_number":426,"context_line":"                self._limit_rsync_log("},{"line_number":427,"context_line":"                    \u0027Bad rsync return code: %(ret)d \u003c- %(args)s\u0027 %"},{"line_number":428,"context_line":"                    {\u0027args\u0027: str(args), \u0027ret\u0027: ret_val}))"},{"line_number":429,"context_line":"        else:"},{"line_number":430,"context_line":"            log_method \u003d self.logger.info if results else self.logger.debug"},{"line_number":431,"context_line":"            log_method("}],"source_content_type":"text/x-python","patch_set":2,"id":"08e41f66_cbd83444","line":428,"updated":"2022-04-27 13:52:46.000000000","message":"ah, ok, so there is a catch all error log here","commit_id":"addafdf973b7d749a3c94819a3547a4ceedf4c3a"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d2df3f8ba3350f924e1bf95128a3b6260c901f2d","unresolved":true,"context_lines":[{"line_number":425,"context_line":"            self.logger.error("},{"line_number":426,"context_line":"                self._limit_rsync_log("},{"line_number":427,"context_line":"                    \u0027Bad rsync return code: %(ret)d \u003c- %(args)s\u0027 %"},{"line_number":428,"context_line":"                    {\u0027args\u0027: str(args), \u0027ret\u0027: ret_val}))"},{"line_number":429,"context_line":"        else:"},{"line_number":430,"context_line":"            log_method \u003d self.logger.info if results else self.logger.debug"},{"line_number":431,"context_line":"            log_method("}],"source_content_type":"text/x-python","patch_set":2,"id":"4d018a6c_b37f423f","line":428,"in_reply_to":"08e41f66_cbd83444","updated":"2022-05-03 17:34:15.000000000","message":"This part is for sure still valuable -- though the full args list probably isn\u0027t.","commit_id":"addafdf973b7d749a3c94819a3547a4ceedf4c3a"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"d2d3e881ea439df6460c78f32723cd39ce5a16f5","unresolved":true,"context_lines":[{"line_number":431,"context_line":"            log_method("},{"line_number":432,"context_line":"                \"Successful rsync of %(src)s to %(dst)s (%(time).03f)\","},{"line_number":433,"context_line":"                {\u0027src\u0027: args[-2][:-3] + \u0027...\u0027, \u0027dst\u0027: args[-1],"},{"line_number":434,"context_line":"                 \u0027time\u0027: total_time})"},{"line_number":435,"context_line":"        return ret_val"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"    def rsync(self, node, job, suffixes):"}],"source_content_type":"text/x-python","patch_set":3,"id":"4789de16_dbd28ea3","line":434,"updated":"2022-05-02 05:46:15.000000000","message":"Why cut off the last 3 just to replace with a \u0027...\u0027, why not just write the rest, not saving any space?","commit_id":"7e691768171be9ccf0a1f6f5ac7630e83b5c9344"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d2df3f8ba3350f924e1bf95128a3b6260c901f2d","unresolved":true,"context_lines":[{"line_number":431,"context_line":"            log_method("},{"line_number":432,"context_line":"                \"Successful rsync of %(src)s to %(dst)s (%(time).03f)\","},{"line_number":433,"context_line":"                {\u0027src\u0027: args[-2][:-3] + \u0027...\u0027, \u0027dst\u0027: args[-1],"},{"line_number":434,"context_line":"                 \u0027time\u0027: total_time})"},{"line_number":435,"context_line":"        return ret_val"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"    def rsync(self, node, job, suffixes):"}],"source_content_type":"text/x-python","patch_set":3,"id":"c79db430_aac0d50f","line":434,"in_reply_to":"4789de16_dbd28ea3","updated":"2022-05-03 17:34:15.000000000","message":"So we\u0027re already saving space by only looking at args[-2] -- the trouble I wan to remedy is that we\u0027re misleading our operators by making it look like all that time was spent syncing a single suffix.","commit_id":"7e691768171be9ccf0a1f6f5ac7630e83b5c9344"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"5a698be17935ab01fba0411966485e857717547e","unresolved":true,"context_lines":[{"line_number":431,"context_line":"            log_method("},{"line_number":432,"context_line":"                \"Successful rsync of %(src)s to %(dst)s (%(time).03f)\","},{"line_number":433,"context_line":"                {\u0027src\u0027: args[-2][:-3] + \u0027...\u0027, \u0027dst\u0027: args[-1],"},{"line_number":434,"context_line":"                 \u0027time\u0027: total_time})"},{"line_number":435,"context_line":"        return ret_val"},{"line_number":436,"context_line":""},{"line_number":437,"context_line":"    def rsync(self, node, job, suffixes):"}],"source_content_type":"text/x-python","patch_set":3,"id":"10cf539a_ebf10224","line":434,"in_reply_to":"c79db430_aac0d50f","updated":"2022-05-05 05:42:28.000000000","message":"Ahh I see. That makkes more sense. I guess having that in a comment would be nice then, because that does make sense.. just not obvious.","commit_id":"7e691768171be9ccf0a1f6f5ac7630e83b5c9344"}],"test/unit/obj/test_replicator.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"d2df3f8ba3350f924e1bf95128a3b6260c901f2d","unresolved":true,"context_lines":[{"line_number":2245,"context_line":"        self.assertEqual(debug_lines, [\u0027Yay! It worked!\u0027])"},{"line_number":2246,"context_line":"        info_lines \u003d self.logger.get_lines_for_level(\u0027info\u0027)"},{"line_number":2247,"context_line":"        self.assertEqual(info_lines, ["},{"line_number":2248,"context_line":"            \u0027Successful rsync of /srv/node/d1/objects/part/... to \u0027"},{"line_number":2249,"context_line":"            \u0027192.168.50.30::object/d8/objects/241 (0.000)\u0027])"},{"line_number":2250,"context_line":""},{"line_number":2251,"context_line":"    def test_do_listdir(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"a626764c_91eaa791","line":2248,"updated":"2022-05-03 17:34:15.000000000","message":"This guy demonstrates the \"...\" pretty well -- we called _rsync() with sf1 and sf2 but we used to just log that we successfully synced sf2 to the remote.\n\nMaybe it\u0027d be better to use something like dirname(args[-2])?","commit_id":"7e691768171be9ccf0a1f6f5ac7630e83b5c9344"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"5a698be17935ab01fba0411966485e857717547e","unresolved":true,"context_lines":[{"line_number":2245,"context_line":"        self.assertEqual(debug_lines, [\u0027Yay! It worked!\u0027])"},{"line_number":2246,"context_line":"        info_lines \u003d self.logger.get_lines_for_level(\u0027info\u0027)"},{"line_number":2247,"context_line":"        self.assertEqual(info_lines, ["},{"line_number":2248,"context_line":"            \u0027Successful rsync of /srv/node/d1/objects/part/... to \u0027"},{"line_number":2249,"context_line":"            \u0027192.168.50.30::object/d8/objects/241 (0.000)\u0027])"},{"line_number":2250,"context_line":""},{"line_number":2251,"context_line":"    def test_do_listdir(self):"}],"source_content_type":"text/x-python","patch_set":3,"id":"520f1523_444d4f1f","line":2248,"in_reply_to":"a626764c_91eaa791","updated":"2022-05-05 05:42:28.000000000","message":"yeah that could be a better. But probably much the same. Either way. Either way a comment about why would be nice I think. But thats more of a NIT.","commit_id":"7e691768171be9ccf0a1f6f5ac7630e83b5c9344"}]}
