)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"e18918cf579d8ff78c84f098bd16cf3f0bd12c03","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"39287489_9722f8ed","updated":"2026-03-02 16:04:01.000000000","message":"Hey Sylvan, could you please rebase this change? Also, a similar fix was proposed [1], maybe we can already benefit from some updates posted.\n[1] https://review.opendev.org/c/openstack/manila/+/972825","commit_id":"026e4e3c97f49813221cea48f37a0560d0974812"},{"author":{"_account_id":35979,"name":"Sylvan Le Deunff","email":"sylvan.le-deunff@ovhcloud.com","username":"sylvanld"},"change_message_id":"85abea8c631dd557578db641e0641154a77899ce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f503fb33_c5378a0e","updated":"2026-03-03 22:46:24.000000000","message":"Hi Carlos,\n\nI took a closer look at the patch you referenced and noticed that it modifies the index method in the v1 share servers controller.\n\nHowever, the v1 API has since been removed from OpenStack Manila (see commit:\nhttps://github.com/openstack/manila/commit/9fa2ba0080da4abe0f30d9ca377b6aba1dc812c9\n).\n\nBefore its removal, the implementation had been moved to the v2 API. From what I can see in the current v2 controller (manila/api/v2/share_servers.py), the changes introduced in the referenced patch were not carried over:\nhttps://github.com/openstack/manila/blob/master/manila/api/v2/share_servers.py#L60\n\nGiven that v1 no longer exists, I would have expected the fix to be reflected in the v2 controller as well, but that does not appear to be the case.\n\nCould you clarify whether this was intentional, and what you would recommend as next steps?\n\nFrom my side, I can:\n\n- adapt this PR to apply the same optimization to the current v2 controller (the code structure is still very similar), or\n- take a different approach if there was a reason not to port that change forward.\n\nI just want to make sure I’m targeting the correct code path before rebasing and updating this patch.","commit_id":"026e4e3c97f49813221cea48f37a0560d0974812"},{"author":{"_account_id":35979,"name":"Sylvan Le Deunff","email":"sylvan.le-deunff@ovhcloud.com","username":"sylvanld"},"change_message_id":"b1d3a71f1bcd6155bbf1744a660cb876a4c68e0e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fe3d7a46_4836a51b","in_reply_to":"39287489_9722f8ed","updated":"2026-03-03 22:20:41.000000000","message":"Hello Carlos,\n\nThis change is upstreaming a fix we applied to an older Manila release (18.1.0). I haven’t had much time to work on this PR recently, but I know it needs to be adapted since some conflicting commits have already been merged. I\u0027ll do this ASAP!\n\nI’ve looked at the improvements in the link you shared, and while they are helpful, the main performance issue still remains. Specifically, when filtering share_network by project_id, the code still fetches all share networks from the database and then filters them in Python. This is very inefficient for large deployments. In our production environment, that query used to take several minutes, whereas with the changes in this PR it now completes in a few hundred milliseconds, as expected.","commit_id":"026e4e3c97f49813221cea48f37a0560d0974812"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"7d835370ee24967688d0cd7b221405ad1653bac5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"58ab2eb0_3c6ce507","in_reply_to":"fe3d7a46_4836a51b","updated":"2026-03-06 18:13:02.000000000","message":"I understand, thanks for clarifying. Could you please rebase this change when you have some time? That way we can proceed with reviews and merging. Thanks, Sylvan!","commit_id":"026e4e3c97f49813221cea48f37a0560d0974812"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"75daedfa899774188618660c5a2106565ee51a2d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"86953e54_fd5dc2a6","updated":"2026-06-19 19:35:41.000000000","message":"@sylvan.le-deunff@ovhcloud.com: can you please see comments from Maurice?","commit_id":"64f562077d6605e0048866c2b7bc22459bee3dd7"},{"author":{"_account_id":35979,"name":"Sylvan Le Deunff","email":"sylvan.le-deunff@ovhcloud.com","username":"sylvanld"},"change_message_id":"5907dee731603570df0b5104b465d701842c4f77","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"b4b1a62c_c10e0f64","updated":"2026-06-09 09:15:27.000000000","message":"Hi! This patch has been sitting with CR+2 for about a month now. Could you also set Workflow +1 if you\u0027re happy with it, so Zuul can pick it up for the gate? Let me know if there\u0027s anything blocking it on your end. Thanks!","commit_id":"64f562077d6605e0048866c2b7bc22459bee3dd7"},{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"888b3fff30aa73e0deeab0a7c9c5cba868ce4cf4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"4e77030c_8b3c2ee9","updated":"2026-06-19 05:48:57.000000000","message":"I was still looking and it got merged meanwhile, I dropped some minor comments, but one question remains inline","commit_id":"64f562077d6605e0048866c2b7bc22459bee3dd7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2398bf9028920f34ed2a16e1e41d741a868cd962","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ddc8467c_d38c2e6f","updated":"2026-04-30 17:09:34.000000000","message":"LGTM, thanks Sylvan","commit_id":"64f562077d6605e0048866c2b7bc22459bee3dd7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"12cf4208adef5ae45865f4e1cf8cde46239ced13","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2ad31ed7_6d6850f8","updated":"2026-06-18 17:40:30.000000000","message":"Thanks @sylvan.le-deunff@ovhcloud.com","commit_id":"64f562077d6605e0048866c2b7bc22459bee3dd7"},{"author":{"_account_id":35979,"name":"Sylvan Le Deunff","email":"sylvan.le-deunff@ovhcloud.com","username":"sylvanld"},"change_message_id":"d1ade3a335e00d93811eb32519ec5f109bc235f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"32a0dd4c_94b84f1e","updated":"2026-04-30 14:30:32.000000000","message":"run-NetApp CI","commit_id":"64f562077d6605e0048866c2b7bc22459bee3dd7"}],"manila/tests/db_utils.py":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"888b3fff30aa73e0deeab0a7c9c5cba868ce4cf4","unresolved":true,"context_lines":[{"line_number":242,"context_line":"    if backend_details:"},{"line_number":243,"context_line":"        db.share_server_backend_details_set("},{"line_number":244,"context_line":"            context.get_admin_context(), share_srv[\u0027id\u0027], backend_details)"},{"line_number":245,"context_line":"    if share_network:"},{"line_number":246,"context_line":"        subnet \u003d models.ShareNetworkSubnet()"},{"line_number":247,"context_line":"        subnet[\u0027share_network\u0027] \u003d share_network"},{"line_number":248,"context_line":"        share_srv[\"share_network_subnets\"] \u003d [subnet]"},{"line_number":249,"context_line":"    return db.share_server_get(context.get_admin_context(),"},{"line_number":250,"context_line":"                               share_srv[\u0027id\u0027])"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"3022489e_d1f01d35","line":248,"range":{"start_line":245,"start_character":3,"end_line":248,"end_character":53},"updated":"2026-06-19 05:48:57.000000000","message":"I don\u0027t understand this assignment - isn\u0027t the next line loading the share server freshly from db?\n\nThe share server will not have a share network then, it got popped from kwargs in _extract_share_server_network() helper, so it was also not added in the create call.","commit_id":"64f562077d6605e0048866c2b7bc22459bee3dd7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"75daedfa899774188618660c5a2106565ee51a2d","unresolved":true,"context_lines":[{"line_number":242,"context_line":"    if backend_details:"},{"line_number":243,"context_line":"        db.share_server_backend_details_set("},{"line_number":244,"context_line":"            context.get_admin_context(), share_srv[\u0027id\u0027], backend_details)"},{"line_number":245,"context_line":"    if share_network:"},{"line_number":246,"context_line":"        subnet \u003d models.ShareNetworkSubnet()"},{"line_number":247,"context_line":"        subnet[\u0027share_network\u0027] \u003d share_network"},{"line_number":248,"context_line":"        share_srv[\"share_network_subnets\"] \u003d [subnet]"},{"line_number":249,"context_line":"    return db.share_server_get(context.get_admin_context(),"},{"line_number":250,"context_line":"                               share_srv[\u0027id\u0027])"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"b5abd1bc_afafcf4f","line":248,"range":{"start_line":245,"start_character":3,"end_line":248,"end_character":53},"in_reply_to":"3022489e_d1f01d35","updated":"2026-06-19 19:35:41.000000000","message":"yeah this thing isn\u0027t getting utilized.. worth fixing up in a follow up","commit_id":"64f562077d6605e0048866c2b7bc22459bee3dd7"},{"author":{"_account_id":35979,"name":"Sylvan Le Deunff","email":"sylvan.le-deunff@ovhcloud.com","username":"sylvanld"},"change_message_id":"4d19259ddbf9ae9f31edece97dd7199e8743ecb3","unresolved":false,"context_lines":[{"line_number":242,"context_line":"    if backend_details:"},{"line_number":243,"context_line":"        db.share_server_backend_details_set("},{"line_number":244,"context_line":"            context.get_admin_context(), share_srv[\u0027id\u0027], backend_details)"},{"line_number":245,"context_line":"    if share_network:"},{"line_number":246,"context_line":"        subnet \u003d models.ShareNetworkSubnet()"},{"line_number":247,"context_line":"        subnet[\u0027share_network\u0027] \u003d share_network"},{"line_number":248,"context_line":"        share_srv[\"share_network_subnets\"] \u003d [subnet]"},{"line_number":249,"context_line":"    return db.share_server_get(context.get_admin_context(),"},{"line_number":250,"context_line":"                               share_srv[\u0027id\u0027])"},{"line_number":251,"context_line":""}],"source_content_type":"text/x-python","patch_set":8,"id":"714f1d63_0a2227ef","line":248,"range":{"start_line":245,"start_character":3,"end_line":248,"end_character":53},"in_reply_to":"b5abd1bc_afafcf4f","updated":"2026-06-22 16:10:23.000000000","message":"@maurice.escher@sap.com @gouthampravi@gmail.com  Good catch. This block was made useless by a refactoring between first and last version of this PR to use ORM relationships. So that mocking the network is no longer needed. _extract_share_server_network() pops share_network_name/project_id so they never reach share_server_create(), and the manual share_network_subnets assignment is discarded by the db.share_server_get() reload on the next line. I\u0027ve opened a follow-up to remove it: Change-Id I2cb22a689ea270b49085f156230e3b5d563da717. Thanks for the review.","commit_id":"64f562077d6605e0048866c2b7bc22459bee3dd7"}]}
