)]}'
{"swift/proxy/controllers/obj.py":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"cf2ba0ea7323f8741409e5669deda5aee7766537","unresolved":true,"context_lines":[{"line_number":362,"context_line":"            self.logger, self.server_type.lower(), \u0027shard_updating\u0027,"},{"line_number":363,"context_line":"            \u0027disabled\u0027, response)"},{"line_number":364,"context_line":"        # there will be only one Namespace in the list if any"},{"line_number":365,"context_line":"        return Namespace(namespaces[0][1], namespaces[0][0], \u0027\u0027) \\"},{"line_number":366,"context_line":"            if namespaces else None"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    def _populate_updating_namespaces(self, req, account,"}],"source_content_type":"text/x-python","patch_set":1,"id":"54d0045d_6c2f108a","line":365,"updated":"2025-05-01 23:57:09.000000000","message":"at this path, when we get the shard ranges from backend, we first generate namespaces, convert them to bound list, and then convert the first element back to namespace again, seems a little counter-productive.","commit_id":"02d2a7447c87c58a71dedc13760e11565f1fb2ef"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"b6faec8246c57ab64b51d9ad581d49a823272490","unresolved":true,"context_lines":[{"line_number":362,"context_line":"            self.logger, self.server_type.lower(), \u0027shard_updating\u0027,"},{"line_number":363,"context_line":"            \u0027disabled\u0027, response)"},{"line_number":364,"context_line":"        # there will be only one Namespace in the list if any"},{"line_number":365,"context_line":"        return Namespace(namespaces[0][1], namespaces[0][0], \u0027\u0027) \\"},{"line_number":366,"context_line":"            if namespaces else None"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    def _populate_updating_namespaces(self, req, account,"}],"source_content_type":"text/x-python","patch_set":1,"id":"ad62a416_b4f2a343","line":365,"in_reply_to":"32fc1ba3_77371635","updated":"2025-05-02 16:09:58.000000000","message":"IIRC OVH bumped into [an issue](https://opendev.org/openstack/swift/src/tag/2.35.0/CHANGELOG#L311-L312) not so long ago so I think it\u0027s important that it _work_, but we already know it won\u0027t be terribly _performant_.","commit_id":"02d2a7447c87c58a71dedc13760e11565f1fb2ef"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"97344898dd4193b28931ce68ea65ba1458bda05b","unresolved":true,"context_lines":[{"line_number":362,"context_line":"            self.logger, self.server_type.lower(), \u0027shard_updating\u0027,"},{"line_number":363,"context_line":"            \u0027disabled\u0027, response)"},{"line_number":364,"context_line":"        # there will be only one Namespace in the list if any"},{"line_number":365,"context_line":"        return Namespace(namespaces[0][1], namespaces[0][0], \u0027\u0027) \\"},{"line_number":366,"context_line":"            if namespaces else None"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    def _populate_updating_namespaces(self, req, account,"}],"source_content_type":"text/x-python","patch_set":1,"id":"61e286a6_d971acc5","line":365,"in_reply_to":"54d0045d_6c2f108a","updated":"2025-05-02 15:22:21.000000000","message":"Agree -- it\u0027s mainly because I didn\u0027t feel like pushing for\n```\nreturn namespaces[0][1] if namespaces else None\n```\nand all the fallout that API change would entail _right now_. I\u0027d hope that could be a fast-follow refactor, though. The good news is that this should be a seldom-used legacy code path -- at this point, I think we\u0027re pretty-well sold on the idea that everyone should be running with `recheck_updating_shard_ranges` at some reasonably large value.","commit_id":"02d2a7447c87c58a71dedc13760e11565f1fb2ef"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"879711235565021b7a0ba86aa3c81ccee46bcd36","unresolved":true,"context_lines":[{"line_number":362,"context_line":"            self.logger, self.server_type.lower(), \u0027shard_updating\u0027,"},{"line_number":363,"context_line":"            \u0027disabled\u0027, response)"},{"line_number":364,"context_line":"        # there will be only one Namespace in the list if any"},{"line_number":365,"context_line":"        return Namespace(namespaces[0][1], namespaces[0][0], \u0027\u0027) \\"},{"line_number":366,"context_line":"            if namespaces else None"},{"line_number":367,"context_line":""},{"line_number":368,"context_line":"    def _populate_updating_namespaces(self, req, account,"}],"source_content_type":"text/x-python","patch_set":1,"id":"32fc1ba3_77371635","line":365,"in_reply_to":"61e286a6_d971acc5","updated":"2025-05-02 15:57:37.000000000","message":"\u003e\u003e everyone should be running with recheck_updating_shard_ranges at some reasonably large value\n\nthis actually was my question when I worked on this patch originally, I wanted to get rid of this path ``_get_update_shard_caching_disabled`` since we are all on memcache, but what about other guys, do you know will they have deployments with sharding enabled but w/o memcache?","commit_id":"02d2a7447c87c58a71dedc13760e11565f1fb2ef"}]}
