)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"52bf5a59448519acc34bf3989fbe5b576a212b60","unresolved":true,"context_lines":[{"line_number":36,"context_line":"serialize."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"The default of auto-resizing makes more sense as a default, this is"},{"line_number":39,"context_line":"really an opt-in when you know what your doing."},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Change-Id: Iaf55043df5fc2432f6f595b7dfd283c303fb7f54"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"d6266cba_18779b5e","line":39,"updated":"2025-03-26 19:17:05.000000000","message":"i\u0027m not sure I acctually understand why set_dev_id_bytes isn\u0027t sufficient from an API perspective.\n\nwhen we add/remove devices we already call calc_dev_id_bytes - so i\u0027m not sure why it needs to be re-calculated on write_ring.","commit_id":"1a46e96ec814b024169cdf4a38fc299359186f15"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"52bf5a59448519acc34bf3989fbe5b576a212b60","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c91339bc_84c53add","updated":"2025-03-26 19:17:05.000000000","message":"this works but [ab]uses a pretty questionable interface\n\nI don\u0027t think we should *ever* `resize_on_serialize` (???)\n\n945648: DRY out array resize/normalize | https://review.opendev.org/c/openstack/swift/+/945648\n\nmaybe better if we try to get a standardized ReplicaToPartToDev based in place before we start adding mutations into the RingData object.\n\n865065: ring: Create ReplicaToPartToDev helper | https://review.opendev.org/c/openstack/swift/+/865065","commit_id":"1a46e96ec814b024169cdf4a38fc299359186f15"}],"swift/common/ring/ring.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"52bf5a59448519acc34bf3989fbe5b576a212b60","unresolved":true,"context_lines":[{"line_number":313,"context_line":""},{"line_number":314,"context_line":"    def serialize_v2(self, writer):"},{"line_number":315,"context_line":"        writer.write_magic(version\u003d2)"},{"line_number":316,"context_line":"        if self.resize_on_serialize:"},{"line_number":317,"context_line":"            self.set_dev_id_bytes(calc_dev_id_bytes(self.max_dev_id))"},{"line_number":318,"context_line":"        ring \u003d self.to_dict()"},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"c7a2038f_a7973eeb","line":316,"updated":"2025-03-26 19:17:05.000000000","message":"i was wondering how the plumbing of a \"force dev id bytes\" was going to look...","commit_id":"1a46e96ec814b024169cdf4a38fc299359186f15"}],"test/unit/cli/test_ringbuilder.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"52bf5a59448519acc34bf3989fbe5b576a212b60","unresolved":true,"context_lines":[{"line_number":2584,"context_line":"            self.assertEqual(int(dev_id_bytes), ring.dev_id_bytes)"},{"line_number":2585,"context_line":""},{"line_number":2586,"context_line":"        # --dev-id-bytes doesn\u0027t work on format_version 1. or at least has"},{"line_number":2587,"context_line":"        # no effect"},{"line_number":2588,"context_line":"        argv \u003d [\"\", self.tmpfile, \"write_ring\", \"--format-version\","},{"line_number":2589,"context_line":"                \"1\", \"--dev-id-bytes\", \"4\"]"},{"line_number":2590,"context_line":"        self.assertSystemExit(EXIT_SUCCESS, ringbuilder.main, argv)"}],"source_content_type":"text/x-python","patch_set":1,"id":"1b7ff58e_d5312a16","line":2587,"updated":"2025-03-26 19:17:05.000000000","message":"hrmmm... maybe better making this an error","commit_id":"1a46e96ec814b024169cdf4a38fc299359186f15"}]}
