)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"4df9a570dcaa7bd73cae7dc27f5b7057a1641bf2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5378321e_239c0204","updated":"2026-06-10 17:57:52.000000000","message":"Christian - we can make mention in the CHANGELOG at the time of release. We don\u0027t typically update it patch-by-patch","commit_id":"b2a06b21576d4faccab25afe3ced96657e3f8731"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"a65857d543a04362468e4acd275ef20e96e95bf4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"58a24241_713cae63","updated":"2026-06-08 13:25:13.000000000","message":"The change itself looks fine to me.\n\nOne thought: operators might miss the changed log pattern, and tools might no longer show entries without updating their log patterns. Does this need an entry in releasenotes or CHANGELOG?","commit_id":"b2a06b21576d4faccab25afe3ced96657e3f8731"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"9350dc275bc1c24a781ea8bb1bf700f81f8c1c25","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"043eabaf_b201b722","updated":"2026-06-10 15:56:31.000000000","message":"who cares, all this python is going to get replaced with rust anyway - if I\u0027ve merged a bug and break prod let me know, i\u0027m skeptical I\u0027ll ever get to deploy this change anyway.\n\n```\n  No blocking findings. Recommendation: +1.\n\n  Reviewed latest patch set only:\n  PS2, ref refs/changes/18/991318/2, commit b2a06b21576d4faccab25afe3ced96657e3f8731, parent e3edeb936c9c4811c106e916a93b64a6572aa3a2.\n\n  Gerrit: https://review.opendev.org/c/openstack/swift/+/991318\n  Title: ssync_receiver: clarify log message annotations\n  Slot: vsaio-2\n\n  Changed Swift files reviewed:\n  swift/obj/ssync_receiver.py, test/unit/obj/test_ssync.py, test/unit/obj/test_ssync_receiver.py\n\n  The patch is a focused operator-visible log format cleanup. The formatter now clearly separates remote_addr from the local device/partition path, and the updated call sites avoid duplicating ssync receiver text. The tests cover the formatter,\n  receiver error paths, commit failure logging, subrequest failure logging, and the touched EC reconstructor log assertions.\n\n  Validation run:\n\n  poetry run -- vsaio-pool --slot vsaio-2 vagrant ssh -c \u0027cd /vagrant/swift \u0026\u0026 pytest test/unit/obj/test_ssync_receiver.py test/unit/obj/test_ssync.py::TestSsyncECReconstructorSyncJob::test_sync_reconstructor_partial_rebuild test/unit/obj/\n  test_ssync.py::TestSsyncECReconstructorSyncJob::test_sync_reconstructor_no_rebuilt_content test/unit/obj/test_ssync.py::TestSsyncECReconstructorSyncJob::test_sync_reconstructor_exception_during_rebuild\u0027\n\n  Result: 84 passed, 1 warning in 1.99s. Slot checkout is clean after validation.\n```\n\n\u003e Does this need an entry in releasenotes or CHANGELOG?\n\nIMHO, no - the only log messages we claim are a supported interface are documented:\n\nhttps://docs.openstack.org/swift/latest/logs.html\n\n^ does not include ssync","commit_id":"b2a06b21576d4faccab25afe3ced96657e3f8731"}],"swift/obj/ssync_receiver.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"06b4593f6420dd5273ba08e9520a488f08f8a9df","unresolved":false,"context_lines":[{"line_number":205,"context_line":"            self.ssync_receiver.request.remote_addr,"},{"line_number":206,"context_line":"            self.ssync_receiver.device,"},{"line_number":207,"context_line":"            self.ssync_receiver.partition,"},{"line_number":208,"context_line":"            msg)"},{"line_number":209,"context_line":""},{"line_number":210,"context_line":"    def debug(self, msg, *args, **kwargs):"},{"line_number":211,"context_line":"        self.logger.debug(self._format_log_msg(msg), *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":2,"id":"968f066c_1a20e558","side":"PARENT","line":208,"updated":"2026-07-10 07:21:48.000000000","message":"When the ssync_sender does log an exception it returns:\n```\nself.daemon.logger.error(\u0027%s/%s %s\u0027, node_str,\n                         self.job[\u0027partition\u0027], err)\n```\n\nAnd\n```\nself.daemon.logger.exception(\n    \u0027%s/%s EXCEPTION in ssync.Sender\u0027,\n    node_str, self.job[\u0027partition\u0027])\n```\n\nShould we be consistent in the output. \u003cremote_arr\u003e/\u003cpartition\u003e might again look a little confusing.","commit_id":"e3edeb936c9c4811c106e916a93b64a6572aa3a2"}]}
