)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"3aabaef866c8428ecec0d8a1435fdb91919b72d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"fcced17e_a3ef0038","updated":"2026-10-07 16:46:07.000000000","message":"LGTM. Thanks Al!","commit_id":"9c50b99155a7130058cb0c8c3247f9cafa3eb455"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"f92615ea3e98cc9144bb175fc3c6a9a9ffda5263","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"00e00082_6cb5af49","updated":"2026-10-08 17:46:42.000000000","message":"Curious to know what y\u0027all think of something like https://review.opendev.org/c/openstack/swift/+/1009623 to try to catch this earlier. I feel like the `self.assertIsNone(lock_timeout.timer)` is a little on the nose.","commit_id":"55be9beb993141c8f0ead74abc055418ccbc55a0"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"182b41da489f4ebaa6645cb2c3bbab1588e55c06","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"017ea265_e0957f09","updated":"2026-10-08 16:49:41.000000000","message":"LGTM.","commit_id":"55be9beb993141c8f0ead74abc055418ccbc55a0"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9b8469173985f082c73305d55fb6afedc457827b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c2136046_d34f51bc","updated":"2026-10-08 07:35:57.000000000","message":"recheck\n\nunrelated func test timeout","commit_id":"55be9beb993141c8f0ead74abc055418ccbc55a0"}],"test/unit/cli/test_relinker.py":[{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"3aabaef866c8428ecec0d8a1435fdb91919b72d6","unresolved":true,"context_lines":[{"line_number":4553,"context_line":"        hp \u003d self._make_hash_path(hsh, ancestor_part)"},{"line_number":4554,"context_line":"        with LockTimeout(10, \u0027quarantine-lock\u0027) as lock_timeout:"},{"line_number":4555,"context_line":"            # use LockTimeout as a contextmanager to ensure it is cancelled"},{"line_number":4556,"context_line":"            self.assertIsNotNone(lock_timeout.timer)"},{"line_number":4557,"context_line":"            with mock.patch(\u0027swift.obj.diskfile.quarantine_dir_renamer\u0027,"},{"line_number":4558,"context_line":"                            side_effect\u003dlock_timeout):"},{"line_number":4559,"context_line":"                r.audit_location(self.existing_device, hp)"}],"source_content_type":"text/x-python","patch_set":1,"id":"c9dd7cd0_f2fa75b9","line":4556,"updated":"2026-10-07 16:46:07.000000000","message":"To me, this checks that `Timeout` scheduling works, something that\u0027s not related to this test.","commit_id":"9c50b99155a7130058cb0c8c3247f9cafa3eb455"},{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"1ab0c89e574ba73c85da66d46d6229c159aef7b5","unresolved":false,"context_lines":[{"line_number":4553,"context_line":"        hp \u003d self._make_hash_path(hsh, ancestor_part)"},{"line_number":4554,"context_line":"        with LockTimeout(10, \u0027quarantine-lock\u0027) as lock_timeout:"},{"line_number":4555,"context_line":"            # use LockTimeout as a contextmanager to ensure it is cancelled"},{"line_number":4556,"context_line":"            self.assertIsNotNone(lock_timeout.timer)"},{"line_number":4557,"context_line":"            with mock.patch(\u0027swift.obj.diskfile.quarantine_dir_renamer\u0027,"},{"line_number":4558,"context_line":"                            side_effect\u003dlock_timeout):"},{"line_number":4559,"context_line":"                r.audit_location(self.existing_device, hp)"}],"source_content_type":"text/x-python","patch_set":1,"id":"df264387_9599d51f","line":4556,"in_reply_to":"aebc9869_36ffe048","updated":"2026-10-07 17:37:09.000000000","message":"Acknowledged","commit_id":"9c50b99155a7130058cb0c8c3247f9cafa3eb455"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"3f9eef13cbf81890e72203d74dae1756f910967b","unresolved":true,"context_lines":[{"line_number":4553,"context_line":"        hp \u003d self._make_hash_path(hsh, ancestor_part)"},{"line_number":4554,"context_line":"        with LockTimeout(10, \u0027quarantine-lock\u0027) as lock_timeout:"},{"line_number":4555,"context_line":"            # use LockTimeout as a contextmanager to ensure it is cancelled"},{"line_number":4556,"context_line":"            self.assertIsNotNone(lock_timeout.timer)"},{"line_number":4557,"context_line":"            with mock.patch(\u0027swift.obj.diskfile.quarantine_dir_renamer\u0027,"},{"line_number":4558,"context_line":"                            side_effect\u003dlock_timeout):"},{"line_number":4559,"context_line":"                r.audit_location(self.existing_device, hp)"}],"source_content_type":"text/x-python","patch_set":1,"id":"aebc9869_36ffe048","line":4556,"in_reply_to":"c9dd7cd0_f2fa75b9","updated":"2026-10-07 16:58:40.000000000","message":"agree, TBH I left it there just to illustrate what is going on, I have pulled it out of the next patchset","commit_id":"9c50b99155a7130058cb0c8c3247f9cafa3eb455"},{"author":{"_account_id":38767,"name":"Wael Halbawi","display_name":"Wael Halbawi","email":"whalbawi@nvidia.com","username":"whalbawi"},"change_message_id":"3aabaef866c8428ecec0d8a1435fdb91919b72d6","unresolved":false,"context_lines":[{"line_number":4557,"context_line":"            with mock.patch(\u0027swift.obj.diskfile.quarantine_dir_renamer\u0027,"},{"line_number":4558,"context_line":"                            side_effect\u003dlock_timeout):"},{"line_number":4559,"context_line":"                r.audit_location(self.existing_device, hp)"},{"line_number":4560,"context_line":"        self.assertIsNone(lock_timeout.timer)  # confirm no lingering timeout"},{"line_number":4561,"context_line":"        self.assertEqual(r.stats[\u0027removed\u0027], 0)"},{"line_number":4562,"context_line":"        self.assertEqual(r.stats[\u0027quarantined\u0027], 0)"},{"line_number":4563,"context_line":"        self.assertEqual(r.stats[\u0027errors\u0027], 1)"}],"source_content_type":"text/x-python","patch_set":1,"id":"f8cb7ab2_d78f9c44","line":4560,"updated":"2026-10-07 16:46:07.000000000","message":"However, this assertion makes sense because it affects the behavior of this (and other) test suites.","commit_id":"9c50b99155a7130058cb0c8c3247f9cafa3eb455"}]}
