)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"4e30e38a3ef335e1cb2bf94736c54ee9c29a9b89","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"ae9347e2_40979972","updated":"2025-07-18 18:21:48.000000000","message":"\u003e Maybe changelog could be part of this patch too?\n\nwe don\u0027t normally do that *with* the change; I could see having an\n\n```\nUpgradeImpact: remove ability to read rings written by swift \u003c1.7.0 circa 2012\n```","commit_id":"6f9338c6abb4f1e8146b7f9e91625eecfd11daa0"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"51167de66de911374d6e548bd72cf5df66b3f4f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"786d5cfd_1372908f","updated":"2025-07-17 23:24:53.000000000","message":"Maybe changelog could be part of this patch too?","commit_id":"6f9338c6abb4f1e8146b7f9e91625eecfd11daa0"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"495cb1c4fe083df1bb5e952d76bb9b94a22295d7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"fd465584_dda83cb8","updated":"2025-07-17 23:21:05.000000000","message":"OK, i think I can get on board with one of our first deprecations. I mean 12 years is a long time.. and we all know the pickle format has changed over the python vesions. So surely no one is using them.\n\nFurther, the cleanup of pickle and our test code seems to be a win AND it means we won\u0027t be supporting building them when ringv2 comes out.\n\nSo long obvlously this is spelled out explicitly in change logs so we\u0027ve done best effort letting users/ops know.","commit_id":"6f9338c6abb4f1e8146b7f9e91625eecfd11daa0"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"443c251767b0997c100012127f9e623c85eebb5f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"4ffff86f_be0eb9d1","updated":"2025-07-21 07:16:12.000000000","message":"To unblock ringv2, I\u0027m going to go ahead an merge this. Then we can rebase ringv2 off it.\n\nWe haven\u0027t supported pickled rings for 12 years or so. And this will clean up ringv2.\n\nIt is wrong that ringv2 will allow us to build these v0 rings again then that was impossible.\nWe can always revert if people think I\u0027m being too much of the cowboy ;)","commit_id":"0417979ca5137a70b1a0637357e74ab8cc35ce46"}],"swift/common/ring/ring.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"495cb1c4fe083df1bb5e952d76bb9b94a22295d7","unresolved":true,"context_lines":[{"line_number":119,"context_line":"        self.devs \u003d devs"},{"line_number":120,"context_line":"        for i, part2dev_id in enumerate(replica2part2dev_id):"},{"line_number":121,"context_line":"            if not isinstance(part2dev_id, array.array):"},{"line_number":122,"context_line":"                replica2part2dev_id[i] \u003d array.array(\u0027H\u0027, part2dev_id)"},{"line_number":123,"context_line":"        self._replica2part2dev_id \u003d replica2part2dev_id"},{"line_number":124,"context_line":"        self._part_shift \u003d part_shift"},{"line_number":125,"context_line":"        self.next_part_power \u003d next_part_power"}],"source_content_type":"text/x-python","patch_set":3,"id":"eb9337ee_1d92db3e","line":122,"updated":"2025-07-17 23:21:05.000000000","message":"This obviously doesn\u0027t work for ringv2.. but I guess this is suppose to be a \"precursor\" to ring v2 as it stands now right.","commit_id":"6f9338c6abb4f1e8146b7f9e91625eecfd11daa0"},{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"443c251767b0997c100012127f9e623c85eebb5f","unresolved":true,"context_lines":[{"line_number":119,"context_line":"        self.devs \u003d devs"},{"line_number":120,"context_line":"        for i, part2dev_id in enumerate(replica2part2dev_id):"},{"line_number":121,"context_line":"            if not isinstance(part2dev_id, array.array):"},{"line_number":122,"context_line":"                replica2part2dev_id[i] \u003d array.array(\u0027H\u0027, part2dev_id)"},{"line_number":123,"context_line":"        self._replica2part2dev_id \u003d replica2part2dev_id"},{"line_number":124,"context_line":"        self._part_shift \u003d part_shift"},{"line_number":125,"context_line":"        self.next_part_power \u003d next_part_power"}],"source_content_type":"text/x-python","patch_set":3,"id":"ddbc868c_890cedb8","line":122,"in_reply_to":"eb9337ee_1d92db3e","updated":"2025-07-21 07:16:12.000000000","message":"Also if I remember correctly this is for tests that send a list insead of an array.","commit_id":"6f9338c6abb4f1e8146b7f9e91625eecfd11daa0"}],"test/unit/obj/test_replicator.py":[{"author":{"_account_id":7233,"name":"Matthew Oliver","email":"matt@oliver.net.au","username":"mattoliverau"},"change_message_id":"495cb1c4fe083df1bb5e952d76bb9b94a22295d7","unresolved":true,"context_lines":[{"line_number":218,"context_line":"        pickle.dump("},{"line_number":219,"context_line":"            ring.RingData(intended_replica2part2dev_id,"},{"line_number":220,"context_line":"                          intended_devs, intended_part_shift, next_part_power),"},{"line_number":221,"context_line":"            f)"},{"line_number":222,"context_line":"    for policy in POLICIES:"},{"line_number":223,"context_line":"        policy.object_ring \u003d None  # force reload"},{"line_number":224,"context_line":"    return"}],"source_content_type":"text/x-python","patch_set":3,"id":"14104cca_70274377","side":"PARENT","line":221,"updated":"2025-07-17 23:21:05.000000000","message":"Wow, so we\u0027ve been basically testing with pickled rings all this time then rather then even v1","commit_id":"b2a0d96f6d135c46d7d5cb839584d3c2a01bdcb5"}]}
