)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"d1bb66382311d8a3257dc8a99e144586355d75a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"4f4ec601_e0947e09","updated":"2025-08-28 19:32:29.000000000","message":"LGTM, thanks Daria","commit_id":"74355c7db6f344933a1d02c5d67f984d6e6dbf47"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"93175d51ab029830fd330f5971a6840fa5445502","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"04311f1f_93050e40","updated":"2025-09-11 15:43:32.000000000","message":"please update releasenotes mentioning bug reference.","commit_id":"74355c7db6f344933a1d02c5d67f984d6e6dbf47"},{"author":{"_account_id":31869,"name":"Daria Kobtseva","email":"daria.kobtseva@ovhcloud.com","username":"dkobtsev"},"change_message_id":"42e3be52dc55d638578358f7cde1971c2bb9873b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"9b3d061d_20b2d7d0","updated":"2025-10-15 08:17:42.000000000","message":"Hello, \n\nAny news on this / any other changes to make ?","commit_id":"d8acd1a4f10808fe85ed9318955a4962e327e147"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eeee4c76b4379e798bcc6a62185c6aa2816800b1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"935d9f71_ce0ee096","updated":"2025-11-25 06:06:32.000000000","message":"Thank you for your patience, @daria.kobtseva@ovhcloud.com. Could you please see the suggestion inline","commit_id":"d8acd1a4f10808fe85ed9318955a4962e327e147"},{"author":{"_account_id":31869,"name":"Daria Kobtseva","email":"daria.kobtseva@ovhcloud.com","username":"dkobtsev"},"change_message_id":"32c2216605ef99f251b89c1faed5eed50e0ae32e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"014b22ee_520d960b","in_reply_to":"6275b6c4_698ec440","updated":"2025-12-01 16:54:37.000000000","message":"Acknowledged","commit_id":"d8acd1a4f10808fe85ed9318955a4962e327e147"},{"author":{"_account_id":31869,"name":"Daria Kobtseva","email":"daria.kobtseva@ovhcloud.com","username":"dkobtsev"},"change_message_id":"bb6f84466188018174caa5409192762a0b9a0a58","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6275b6c4_698ec440","in_reply_to":"9b3d061d_20b2d7d0","updated":"2025-11-24 10:43:08.000000000","message":"Any updates?","commit_id":"d8acd1a4f10808fe85ed9318955a4962e327e147"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"13c0f298815a9494867a1966d85b5d7fe550a12e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"80b4d50c_ecf0bffa","updated":"2026-02-03 20:45:57.000000000","message":"@gouthampravi@gmail.com hello, can you look this MR please.","commit_id":"e153f284a5c3a3801a3d9805da0f5070a6a75d5b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f43fed321585987eb136b8b2ef4cd06630b494e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ab9a9573_4ba607dd","updated":"2026-03-04 08:12:50.000000000","message":"I was terribly late to this review party. I\u0027ve some concerns, i\u0027ll upload a change fixing the issues identified here","commit_id":"e153f284a5c3a3801a3d9805da0f5070a6a75d5b"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"a5e56da251d8371f8ff637d98fd7afc9cb4a5b15","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"fd9bafc0_cc7e2ba8","updated":"2025-12-18 08:11:05.000000000","message":"LGTM ..!","commit_id":"e153f284a5c3a3801a3d9805da0f5070a6a75d5b"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"8d03824f0a424d886aed5e570251d8189ec46c9a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"99f7a6fa_a3d6069c","updated":"2026-03-03 19:01:16.000000000","message":"LGTM, thanks!","commit_id":"e153f284a5c3a3801a3d9805da0f5070a6a75d5b"}],"manila/api/v2/share_export_locations.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"eeee4c76b4379e798bcc6a62185c6aa2816800b1","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        if export_location.is_admin_only and not context.is_admin:"},{"line_number":80,"context_line":"            raise exc.HTTPForbidden()"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        share \u003d db_api.share_get(context, share_id)"},{"line_number":83,"context_line":"        if not any("},{"line_number":84,"context_line":"                instance[\u0027id\u0027] \u003d\u003d export_location.share_instance_id"},{"line_number":85,"context_line":"                for instance in share.instances"},{"line_number":86,"context_line":"        ):"},{"line_number":87,"context_line":"            msg \u003d _(\"Export location \u0027%s\u0027 not found.\") % export_location_uuid"},{"line_number":88,"context_line":"            raise exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        return self._view_builder.detail(req, export_location)"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"db73953d_560252f5","line":88,"range":{"start_line":82,"start_character":0,"end_line":88,"end_character":51},"updated":"2025-11-25 06:06:32.000000000","message":"This additional lookup for share data would be quite inefficient; instead, we could make the export_location_get_by_uuid code handle this by using a join on the shares table. To do this, you could modify DB implementation like below, and send the share_id through the export_location_get_by_uuid method call above.\n\n\n```\n  def _export_location_get_by_uuid(\n      context, export_location_uuid,\n      ignore_secondary_replicas\u003dFalse,\n      share_id\u003dNone,\n  ):\n      query \u003d model_query(\n          context,\n          models.ShareInstanceExportLocations,\n          read_deleted\u003d\"no\",\n      ).filter_by(uuid\u003dexport_location_uuid)\n\n      # NEW: When share_id is provided, verify ownership in the same query\n      if share_id is not None:\n          query \u003d query.join(\n              models.ShareInstanceExportLocations.share_instance\n          ).filter(\n              models.ShareInstance.share_id \u003d\u003d share_id\n          )\n\n      ...\n```","commit_id":"d8acd1a4f10808fe85ed9318955a4962e327e147"},{"author":{"_account_id":31869,"name":"Daria Kobtseva","email":"daria.kobtseva@ovhcloud.com","username":"dkobtsev"},"change_message_id":"32c2216605ef99f251b89c1faed5eed50e0ae32e","unresolved":true,"context_lines":[{"line_number":79,"context_line":"        if export_location.is_admin_only and not context.is_admin:"},{"line_number":80,"context_line":"            raise exc.HTTPForbidden()"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"        share \u003d db_api.share_get(context, share_id)"},{"line_number":83,"context_line":"        if not any("},{"line_number":84,"context_line":"                instance[\u0027id\u0027] \u003d\u003d export_location.share_instance_id"},{"line_number":85,"context_line":"                for instance in share.instances"},{"line_number":86,"context_line":"        ):"},{"line_number":87,"context_line":"            msg \u003d _(\"Export location \u0027%s\u0027 not found.\") % export_location_uuid"},{"line_number":88,"context_line":"            raise exc.HTTPNotFound(explanation\u003dmsg)"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":"        return self._view_builder.detail(req, export_location)"},{"line_number":91,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"dcb291fe_e5f5ec17","line":88,"range":{"start_line":82,"start_character":0,"end_line":88,"end_character":51},"in_reply_to":"db73953d_560252f5","updated":"2025-12-01 16:54:37.000000000","message":"Thank you for reviewing this. I have updated the DB method as suggested as well as the associated method calls and tests.","commit_id":"d8acd1a4f10808fe85ed9318955a4962e327e147"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f43fed321585987eb136b8b2ef4cd06630b494e","unresolved":true,"context_lines":[{"line_number":4592,"context_line":""},{"line_number":4593,"context_line":"    if ignore_secondary_replicas:"},{"line_number":4594,"context_line":"        replica_state_attr \u003d models.ShareInstance.replica_state"},{"line_number":4595,"context_line":"        query \u003d query.join("},{"line_number":4596,"context_line":"            models.ShareInstanceExportLocations.share_instance,"},{"line_number":4597,"context_line":"        ).filter("},{"line_number":4598,"context_line":"            or_("},{"line_number":4599,"context_line":"                replica_state_attr \u003d\u003d None,  # noqa"},{"line_number":4600,"context_line":"                replica_state_attr \u003d\u003d constants.REPLICA_STATE_ACTIVE,"}],"source_content_type":"text/x-python","patch_set":5,"id":"f7864f79_18822997","line":4597,"range":{"start_line":4595,"start_character":8,"end_line":4597,"end_character":9},"updated":"2026-03-04 08:12:50.000000000","message":"If both `share_id` and `ignore_secondary_replicas` are set, this join will repeat twice","commit_id":"e153f284a5c3a3801a3d9805da0f5070a6a75d5b"}],"manila/tests/api/v2/test_share_export_locations.py":[{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f43fed321585987eb136b8b2ef4cd06630b494e","unresolved":true,"context_lines":[{"line_number":111,"context_line":"                self.assertEqual(len(admin_summary_keys), len(index_el))"},{"line_number":112,"context_line":"                for key in admin_summary_keys:"},{"line_number":113,"context_line":"                    self.assertIn(key, index_el)"},{"line_number":114,"context_line":"                    self.assertEqual(len(admin_detail_keys), len(show_el))"},{"line_number":115,"context_line":"                for key in admin_detail_keys:"},{"line_number":116,"context_line":"                    self.assertIn(key, show_el)"},{"line_number":117,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":5,"id":"2aa7988f_db98da12","line":114,"range":{"start_line":114,"start_character":0,"end_line":114,"end_character":74},"updated":"2026-03-04 08:12:50.000000000","message":"this correction is incorrect, and unnecessary - it shouldn\u0027t be in the loop","commit_id":"e153f284a5c3a3801a3d9805da0f5070a6a75d5b"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"9f43fed321585987eb136b8b2ef4cd06630b494e","unresolved":true,"context_lines":[{"line_number":118,"context_line":"                self.assertEqual(len(summary_keys), len(index_el))"},{"line_number":119,"context_line":"                for key in summary_keys:"},{"line_number":120,"context_line":"                    self.assertIn(key, index_el)"},{"line_number":121,"context_line":"                    self.assertEqual(len(detail_keys), len(show_el))"},{"line_number":122,"context_line":"                for key in detail_keys:"},{"line_number":123,"context_line":"                    self.assertIn(key, show_el)"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"0a58742e_17d12cda","line":121,"range":{"start_line":121,"start_character":0,"end_line":121,"end_character":68},"updated":"2026-03-04 08:12:50.000000000","message":"same","commit_id":"e153f284a5c3a3801a3d9805da0f5070a6a75d5b"}]}
