)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"000c46b426d4cdb0bbee3463b4d8eaa3fa28a9ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4677b859_6ba69fe4","updated":"2024-06-12 03:09:46.000000000","message":"almost LGTM, just two comments.","commit_id":"9adb97f32feb8cfd4a432d747d3f680132743818"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"dcc5f5e395c18a2e6c044ee1f20a36d63ea9723a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"69d6361f_7b3ece2f","updated":"2024-06-12 08:05:35.000000000","message":"LGTM,It\u0027s consistent with what we discussed at our weekly meeting last week. Delete share or snapshot directly to avoid a long delay in periodic tasks. The periodic task is used to delete the share or snapshot that fails to be deleted directly.","commit_id":"fa3f3e801ac474f8fe1903295250cc92fc6f1823"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5af9d1506ca6dca9fb4c3171c2891af50414b97a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"bc0acbfa_a8beea5c","updated":"2024-06-21 16:51:14.000000000","message":"Looks good, have a few minor comments inline. Thank you for working on enhancement","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"1dfca5a8d44c2856389a0514fe042ffc8f2f8818","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"a0fd3f29_ec6d5ba2","updated":"2024-06-25 01:28:09.000000000","message":"LGTM, thanks.","commit_id":"2f88c6722efd8522c35f97c030dfa7f501112ca1"},{"author":{"_account_id":36180,"name":"Gireesh Awasthi","display_name":"Gireesh","email":"gawasthi2010@gmail.com","username":"agireesh","status":"NetApp"},"change_message_id":"b26d699d6480e7e322adedda49dbb018cf1953be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"d65dc182_42e29534","updated":"2024-07-17 05:06:18.000000000","message":"LGTM","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"30b64622dfb87553db1e79df816600ac2aefc73f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"6da2cca1_6af6209f","updated":"2024-07-10 14:39:01.000000000","message":"LGTM, thank you for working on this change :)","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"f32abcf8_f89cfbb9","updated":"2024-07-18 22:22:45.000000000","message":"Thanks Kiran, some questions/comments inline","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"2a2d8f47_913c6232","updated":"2024-07-19 03:05:58.000000000","message":"thanks for your change, some comments in line.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4434995b48811697869258f036caa7ca39732531","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"ad9512bd_c17f36bf","updated":"2024-08-15 04:38:31.000000000","message":"I\u0027m sorry; i just couldn\u0027t read this code change because of the number of if conditions.. it seems hard for me to commit to maintain something like this. Please consider the comments inline.","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"cd3e588a286821237358da3377e1ffc0e5869b3c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"5aaadbc7_40a4e993","updated":"2024-08-14 13:23:56.000000000","message":"LGTM, thanks for working on this change","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"aca934ddb23d16f8997b12bd17de7d8aafb62b73","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"50d24110_024422e4","updated":"2024-07-23 02:54:01.000000000","message":"thanks. LGTM","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"171290066bad0e9f00a922e08f0cd1f4d89f2acd","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"eb5c3b48_62ce9866","updated":"2024-08-29 20:35:33.000000000","message":"Thanks for the changes; question inline","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c7fd5ed127d5096ccd6dbeabce90773995c57960","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"48a205c0_13ca8c2d","updated":"2024-09-18 21:01:08.000000000","message":"Thanks for working on this change and sorry for taking some time to get back to reviewing it. Please take a look at the comments inline :)","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"ae3ee941b7783b5bbd840b81db8ba5ea22ae6130","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"a21aaec8_f96606aa","updated":"2024-08-19 16:23:28.000000000","message":"recheck","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"36dd6ba94b58dd3d5e1792109fb9d61aa755662c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"3235986c_2d1edf5f","updated":"2024-09-19 18:11:37.000000000","message":"LGTM, thank you Kiran!","commit_id":"e8f086d0f58608a2ff04958af668538e0ed5f7be"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"32c5021dd23fed393e23ef180f513a5d55be9707","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":11,"id":"5a25155e_566963f6","updated":"2024-09-19 18:24:17.000000000","message":"Thank you Kiran; please backport to stable/2024.2 and stable/2024.1 in order, when this merged.","commit_id":"e8f086d0f58608a2ff04958af668538e0ed5f7be"}],"manila/db/sqlalchemy/api.py":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5af9d1506ca6dca9fb4c3171c2891af50414b97a","unresolved":true,"context_lines":[{"line_number":6557,"context_line":"@require_context"},{"line_number":6558,"context_line":"@context_manager.reader"},{"line_number":6559,"context_line":"def count_share_group_snapshot_members_in_share(context, share_id):"},{"line_number":6560,"context_line":"    return model_query("},{"line_number":6561,"context_line":"        context, models.ShareSnapshotInstance,"},{"line_number":6562,"context_line":"        project_only\u003dTrue, read_deleted\u003d\"no\","},{"line_number":6563,"context_line":"    ).join("}],"source_content_type":"text/x-python","patch_set":5,"id":"2c20f83e_d79e3a10","line":6560,"updated":"2024-06-21 16:51:14.000000000","message":"deferred_delete_states \u003d [constants.STATUS_DEFERRED_DELETING, constants.STATUS_ERROR_DEFERRED_DELETING]","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"4cae491acdd6aec903e209a5512cfed99fa5af8a","unresolved":false,"context_lines":[{"line_number":6557,"context_line":"@require_context"},{"line_number":6558,"context_line":"@context_manager.reader"},{"line_number":6559,"context_line":"def count_share_group_snapshot_members_in_share(context, share_id):"},{"line_number":6560,"context_line":"    return model_query("},{"line_number":6561,"context_line":"        context, models.ShareSnapshotInstance,"},{"line_number":6562,"context_line":"        project_only\u003dTrue, read_deleted\u003d\"no\","},{"line_number":6563,"context_line":"    ).join("}],"source_content_type":"text/x-python","patch_set":5,"id":"3aef623f_d916d63a","line":6560,"in_reply_to":"2c20f83e_d79e3a10","updated":"2024-06-24 08:35:50.000000000","message":"Done","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5af9d1506ca6dca9fb4c3171c2891af50414b97a","unresolved":true,"context_lines":[{"line_number":6566,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6567,"context_line":"    ).filter("},{"line_number":6568,"context_line":"        models.ShareInstance.share_id \u003d\u003d share_id,"},{"line_number":6569,"context_line":"        and_(models.ShareSnapshotInstance.status !\u003d ("},{"line_number":6570,"context_line":"            constants.STATUS_DEFERRED_DELETING),"},{"line_number":6571,"context_line":"            models.ShareSnapshotInstance.status !\u003d ("},{"line_number":6572,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING))"},{"line_number":6573,"context_line":"    ).count()"},{"line_number":6574,"context_line":""},{"line_number":6575,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"a67a519b_62fa5882","line":6572,"range":{"start_line":6569,"start_character":48,"end_line":6572,"end_character":57},"updated":"2024-06-21 16:51:14.000000000","message":"```suggestion\n        and_(models.ShareSnapshotInstance.status.not_in(\n             deferred_delete_states))\n```\nI think this can get a bit more readable","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"4cae491acdd6aec903e209a5512cfed99fa5af8a","unresolved":false,"context_lines":[{"line_number":6566,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6567,"context_line":"    ).filter("},{"line_number":6568,"context_line":"        models.ShareInstance.share_id \u003d\u003d share_id,"},{"line_number":6569,"context_line":"        and_(models.ShareSnapshotInstance.status !\u003d ("},{"line_number":6570,"context_line":"            constants.STATUS_DEFERRED_DELETING),"},{"line_number":6571,"context_line":"            models.ShareSnapshotInstance.status !\u003d ("},{"line_number":6572,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING))"},{"line_number":6573,"context_line":"    ).count()"},{"line_number":6574,"context_line":""},{"line_number":6575,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"3e78521b_dea9c9ca","line":6572,"range":{"start_line":6569,"start_character":48,"end_line":6572,"end_character":57},"in_reply_to":"a67a519b_62fa5882","updated":"2024-06-24 08:35:50.000000000","message":"Done","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4434995b48811697869258f036caa7ca39732531","unresolved":true,"context_lines":[{"line_number":6559,"context_line":"def count_share_group_snapshot_members_in_share(context, share_id):"},{"line_number":6560,"context_line":"    deferred_delete_states \u003d ["},{"line_number":6561,"context_line":"        constants.STATUS_DEFERRED_DELETING,"},{"line_number":6562,"context_line":"        constants.STATUS_ERROR_DEFERRED_DELETING"},{"line_number":6563,"context_line":"    ]"},{"line_number":6564,"context_line":""},{"line_number":6565,"context_line":"    return model_query("}],"source_content_type":"text/x-python","patch_set":8,"id":"9116abed_f21dde8f","line":6562,"updated":"2024-08-15 04:38:31.000000000","message":"trailing comma","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a3bad59d9ac578463a13d81da73532fadf96ec0d","unresolved":false,"context_lines":[{"line_number":6559,"context_line":"def count_share_group_snapshot_members_in_share(context, share_id):"},{"line_number":6560,"context_line":"    deferred_delete_states \u003d ["},{"line_number":6561,"context_line":"        constants.STATUS_DEFERRED_DELETING,"},{"line_number":6562,"context_line":"        constants.STATUS_ERROR_DEFERRED_DELETING"},{"line_number":6563,"context_line":"    ]"},{"line_number":6564,"context_line":""},{"line_number":6565,"context_line":"    return model_query("}],"source_content_type":"text/x-python","patch_set":8,"id":"4f848f97_2d06960f","line":6562,"in_reply_to":"9116abed_f21dde8f","updated":"2024-08-19 11:53:00.000000000","message":"Done","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4434995b48811697869258f036caa7ca39732531","unresolved":true,"context_lines":[{"line_number":6557,"context_line":"@require_context"},{"line_number":6558,"context_line":"@context_manager.reader"},{"line_number":6559,"context_line":"def count_share_group_snapshot_members_in_share(context, share_id):"},{"line_number":6560,"context_line":"    deferred_delete_states \u003d ["},{"line_number":6561,"context_line":"        constants.STATUS_DEFERRED_DELETING,"},{"line_number":6562,"context_line":"        constants.STATUS_ERROR_DEFERRED_DELETING"},{"line_number":6563,"context_line":"    ]"},{"line_number":6564,"context_line":""},{"line_number":6565,"context_line":"    return model_query("},{"line_number":6566,"context_line":"        context, models.ShareSnapshotInstance,"}],"source_content_type":"text/x-python","patch_set":8,"id":"27fbd5a9_39eb1efd","line":6563,"range":{"start_line":6560,"start_character":4,"end_line":6563,"end_character":5},"updated":"2024-08-15 04:38:31.000000000","message":"can you please add a kwarg to this method: \"ignore_deferred_deleting\"\nYou can default this to False.. and set to True in the invocations within delete and soft_delete API handlers.\n\nmy concern is that this is a hidden behavior in case someone decides to use this method elsewhere..","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a3bad59d9ac578463a13d81da73532fadf96ec0d","unresolved":false,"context_lines":[{"line_number":6557,"context_line":"@require_context"},{"line_number":6558,"context_line":"@context_manager.reader"},{"line_number":6559,"context_line":"def count_share_group_snapshot_members_in_share(context, share_id):"},{"line_number":6560,"context_line":"    deferred_delete_states \u003d ["},{"line_number":6561,"context_line":"        constants.STATUS_DEFERRED_DELETING,"},{"line_number":6562,"context_line":"        constants.STATUS_ERROR_DEFERRED_DELETING"},{"line_number":6563,"context_line":"    ]"},{"line_number":6564,"context_line":""},{"line_number":6565,"context_line":"    return model_query("},{"line_number":6566,"context_line":"        context, models.ShareSnapshotInstance,"}],"source_content_type":"text/x-python","patch_set":8,"id":"a58679c4_3589a8a0","line":6563,"range":{"start_line":6560,"start_character":4,"end_line":6563,"end_character":5},"in_reply_to":"27fbd5a9_39eb1efd","updated":"2024-08-19 11:53:00.000000000","message":"Done for soft-delete, we need to consider those states in delete API filteration layer, that was the reason to add them.","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"171290066bad0e9f00a922e08f0cd1f4d89f2acd","unresolved":true,"context_lines":[{"line_number":6568,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6569,"context_line":"    )"},{"line_number":6570,"context_line":""},{"line_number":6571,"context_line":"    if not ignore_deferred_deleting:"},{"line_number":6572,"context_line":"        deferred_delete_states \u003d ["},{"line_number":6573,"context_line":"            constants.STATUS_DEFERRED_DELETING,"},{"line_number":6574,"context_line":"            constants.STATUS_ERROR_DEFERRED_DELETING,"}],"source_content_type":"text/x-python","patch_set":9,"id":"ec2811d6_6d5a878b","line":6571,"range":{"start_line":6571,"start_character":4,"end_line":6571,"end_character":36},"updated":"2024-08-29 20:35:33.000000000","message":"shouldn\u0027t this condition be inverse?\n\nif you are ignoring deferred deletion states, you\u0027d ensure to omit them by filtering by those statuses","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c7fd5ed127d5096ccd6dbeabce90773995c57960","unresolved":true,"context_lines":[{"line_number":6568,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6569,"context_line":"    )"},{"line_number":6570,"context_line":""},{"line_number":6571,"context_line":"    if not ignore_deferred_deleting:"},{"line_number":6572,"context_line":"        deferred_delete_states \u003d ["},{"line_number":6573,"context_line":"            constants.STATUS_DEFERRED_DELETING,"},{"line_number":6574,"context_line":"            constants.STATUS_ERROR_DEFERRED_DELETING,"}],"source_content_type":"text/x-python","patch_set":9,"id":"fc6fc842_e7f28cf7","line":6571,"range":{"start_line":6571,"start_character":4,"end_line":6571,"end_character":36},"in_reply_to":"9f6e4f5f_5e57ef6d","updated":"2024-09-18 21:01:08.000000000","message":"So, I get that the current code works, but in terms of readability I have to agree that it is indeed confusing, specially because of the double negative in the if statement. I have also talked to Goutham and he suggested a new name for ignore_deferred_deleting, to make it more suggestive. Naming it `include_deferred_deleting` would be less confusing. I have added a suggestion in another comment, with this variable name change and also fixing other things to comply. Please take a look at it :)","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"abaf47978494878e583ff3a40dc3b1cb64c80563","unresolved":true,"context_lines":[{"line_number":6568,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6569,"context_line":"    )"},{"line_number":6570,"context_line":""},{"line_number":6571,"context_line":"    if not ignore_deferred_deleting:"},{"line_number":6572,"context_line":"        deferred_delete_states \u003d ["},{"line_number":6573,"context_line":"            constants.STATUS_DEFERRED_DELETING,"},{"line_number":6574,"context_line":"            constants.STATUS_ERROR_DEFERRED_DELETING,"}],"source_content_type":"text/x-python","patch_set":9,"id":"9f6e4f5f_5e57ef6d","line":6571,"range":{"start_line":6571,"start_character":4,"end_line":6571,"end_character":36},"in_reply_to":"aa30a39b_e26657ac","updated":"2024-08-30 07:13:47.000000000","message":"\u003e\"if not ignore\", i.e., if you\u0027re asked for all the shares, you shouldn\u0027t be filtering for any status..\nyes, I asked all shares but not ignoring deferred deleting states. So how not ignore ? Not ignore means make sure shares are not in those states. Otherwise we just ignore those states and consider all shares.","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"21699bdf8a18fae61d1996cc2428946351553815","unresolved":true,"context_lines":[{"line_number":6568,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6569,"context_line":"    )"},{"line_number":6570,"context_line":""},{"line_number":6571,"context_line":"    if not ignore_deferred_deleting:"},{"line_number":6572,"context_line":"        deferred_delete_states \u003d ["},{"line_number":6573,"context_line":"            constants.STATUS_DEFERRED_DELETING,"},{"line_number":6574,"context_line":"            constants.STATUS_ERROR_DEFERRED_DELETING,"}],"source_content_type":"text/x-python","patch_set":9,"id":"aa30a39b_e26657ac","line":6571,"range":{"start_line":6571,"start_character":4,"end_line":6571,"end_character":36},"in_reply_to":"b5e33931_9d905edf","updated":"2024-08-30 06:55:27.000000000","message":"it hurts my brain to think of double negatives.. \nI understand where this is being invoked; my question was different.. \n\n\nshouldn\u0027t this be:\n\n\n```\n  if ignore_deferred_deleting:\n      # make sure to filter out anything that\u0027s in deferred deletion states\n      # i.e., models.ShareSnapshotInstance.status.not_in(deferred_delete_states)\n```\n\n\n\"if not ignore\", i.e., if you\u0027re asked for all the shares, you shouldn\u0027t be filtering for any status..","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"eb5df09d8089576c0ab05f2404b9e42278577e20","unresolved":false,"context_lines":[{"line_number":6568,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6569,"context_line":"    )"},{"line_number":6570,"context_line":""},{"line_number":6571,"context_line":"    if not ignore_deferred_deleting:"},{"line_number":6572,"context_line":"        deferred_delete_states \u003d ["},{"line_number":6573,"context_line":"            constants.STATUS_DEFERRED_DELETING,"},{"line_number":6574,"context_line":"            constants.STATUS_ERROR_DEFERRED_DELETING,"}],"source_content_type":"text/x-python","patch_set":9,"id":"b5e33931_9d905edf","line":6571,"range":{"start_line":6571,"start_character":4,"end_line":6571,"end_character":36},"in_reply_to":"ec2811d6_6d5a878b","updated":"2024-08-30 05:46:40.000000000","message":"not ignore_deferred_deleting, means consider deferred deleting states. In api.py count_share_group_snapshot_members_in_share() is considered twice , in soft_delete and delete. For deletion we indeed need to make sure that share is not in these states as shares only in avaialble/error are allowed to delete. For soft_delete, I have not changed behaviour. So In default case, we must consider that share is not in deferred deleting states (since those are hidden from end user)","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f989ea3c38db1f68dbf7728ef496790b25b0873d","unresolved":false,"context_lines":[{"line_number":6568,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6569,"context_line":"    )"},{"line_number":6570,"context_line":""},{"line_number":6571,"context_line":"    if not ignore_deferred_deleting:"},{"line_number":6572,"context_line":"        deferred_delete_states \u003d ["},{"line_number":6573,"context_line":"            constants.STATUS_DEFERRED_DELETING,"},{"line_number":6574,"context_line":"            constants.STATUS_ERROR_DEFERRED_DELETING,"}],"source_content_type":"text/x-python","patch_set":9,"id":"999c37ac_83e7dccc","line":6571,"range":{"start_line":6571,"start_character":4,"end_line":6571,"end_character":36},"in_reply_to":"fc6fc842_e7f28cf7","updated":"2024-09-19 11:20:55.000000000","message":"Done","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"c7fd5ed127d5096ccd6dbeabce90773995c57960","unresolved":true,"context_lines":[{"line_number":6554,"context_line":"            count())"},{"line_number":6555,"context_line":""},{"line_number":6556,"context_line":""},{"line_number":6557,"context_line":"@require_context"},{"line_number":6558,"context_line":"@context_manager.reader"},{"line_number":6559,"context_line":"def count_share_group_snapshot_members_in_share("},{"line_number":6560,"context_line":"    context, share_id, ignore_deferred_deleting\u003dFalse"},{"line_number":6561,"context_line":"):"},{"line_number":6562,"context_line":"    query \u003d model_query("},{"line_number":6563,"context_line":"        context, models.ShareSnapshotInstance,"},{"line_number":6564,"context_line":"        project_only\u003dTrue, read_deleted\u003d\"no\","},{"line_number":6565,"context_line":"    ).join("},{"line_number":6566,"context_line":"        models.ShareInstance,"},{"line_number":6567,"context_line":"        models.ShareInstance.id \u003d\u003d ("},{"line_number":6568,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6569,"context_line":"    )"},{"line_number":6570,"context_line":""},{"line_number":6571,"context_line":"    if not ignore_deferred_deleting:"},{"line_number":6572,"context_line":"        deferred_delete_states \u003d ["},{"line_number":6573,"context_line":"            constants.STATUS_DEFERRED_DELETING,"},{"line_number":6574,"context_line":"            constants.STATUS_ERROR_DEFERRED_DELETING,"},{"line_number":6575,"context_line":"        ]"},{"line_number":6576,"context_line":"        return query.filter("},{"line_number":6577,"context_line":"            models.ShareInstance.share_id \u003d\u003d share_id,"},{"line_number":6578,"context_line":"            and_(models.ShareSnapshotInstance.status.not_in("},{"line_number":6579,"context_line":"                 deferred_delete_states))"},{"line_number":6580,"context_line":"        ).count()"},{"line_number":6581,"context_line":""},{"line_number":6582,"context_line":"    return query.filter("},{"line_number":6583,"context_line":"        models.ShareInstance.share_id \u003d\u003d share_id,"},{"line_number":6584,"context_line":"    ).count()"},{"line_number":6585,"context_line":""},{"line_number":6586,"context_line":"####################"},{"line_number":6587,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"39f587df_00e875f6","line":6584,"range":{"start_line":6557,"start_character":0,"end_line":6584,"end_character":13},"updated":"2024-09-18 21:01:08.000000000","message":"```suggestion\n@require_context\n@context_manager.reader\ndef count_share_group_snapshot_members_in_share(\n    context, share_id, include_deferred_deleting\u003dTrue\n):\n    query \u003d model_query(\n        context, models.ShareSnapshotInstance,\n        project_only\u003dTrue, read_deleted\u003d\"no\",\n    ).join(\n        models.ShareInstance,\n        models.ShareInstance.id \u003d\u003d (\n            models.ShareSnapshotInstance.share_instance_id),\n    )\n\n    if include_deferred_deleting:\n        return query.filter(\n            models.ShareInstance.share_id \u003d\u003d share_id,\n        ).count()\n    \n    deferred_delete_states \u003d [\n        constants.STATUS_DEFERRED_DELETING,\n        constants.STATUS_ERROR_DEFERRED_DELETING,\n    ]\n    return query.filter(\n        models.ShareInstance.share_id \u003d\u003d share_id,\n        and_(models.ShareSnapshotInstance.status.not_in(\n             deferred_delete_states))\n    ).count()\n```","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"f989ea3c38db1f68dbf7728ef496790b25b0873d","unresolved":false,"context_lines":[{"line_number":6554,"context_line":"            count())"},{"line_number":6555,"context_line":""},{"line_number":6556,"context_line":""},{"line_number":6557,"context_line":"@require_context"},{"line_number":6558,"context_line":"@context_manager.reader"},{"line_number":6559,"context_line":"def count_share_group_snapshot_members_in_share("},{"line_number":6560,"context_line":"    context, share_id, ignore_deferred_deleting\u003dFalse"},{"line_number":6561,"context_line":"):"},{"line_number":6562,"context_line":"    query \u003d model_query("},{"line_number":6563,"context_line":"        context, models.ShareSnapshotInstance,"},{"line_number":6564,"context_line":"        project_only\u003dTrue, read_deleted\u003d\"no\","},{"line_number":6565,"context_line":"    ).join("},{"line_number":6566,"context_line":"        models.ShareInstance,"},{"line_number":6567,"context_line":"        models.ShareInstance.id \u003d\u003d ("},{"line_number":6568,"context_line":"            models.ShareSnapshotInstance.share_instance_id),"},{"line_number":6569,"context_line":"    )"},{"line_number":6570,"context_line":""},{"line_number":6571,"context_line":"    if not ignore_deferred_deleting:"},{"line_number":6572,"context_line":"        deferred_delete_states \u003d ["},{"line_number":6573,"context_line":"            constants.STATUS_DEFERRED_DELETING,"},{"line_number":6574,"context_line":"            constants.STATUS_ERROR_DEFERRED_DELETING,"},{"line_number":6575,"context_line":"        ]"},{"line_number":6576,"context_line":"        return query.filter("},{"line_number":6577,"context_line":"            models.ShareInstance.share_id \u003d\u003d share_id,"},{"line_number":6578,"context_line":"            and_(models.ShareSnapshotInstance.status.not_in("},{"line_number":6579,"context_line":"                 deferred_delete_states))"},{"line_number":6580,"context_line":"        ).count()"},{"line_number":6581,"context_line":""},{"line_number":6582,"context_line":"    return query.filter("},{"line_number":6583,"context_line":"        models.ShareInstance.share_id \u003d\u003d share_id,"},{"line_number":6584,"context_line":"    ).count()"},{"line_number":6585,"context_line":""},{"line_number":6586,"context_line":"####################"},{"line_number":6587,"context_line":""}],"source_content_type":"text/x-python","patch_set":9,"id":"cacd2c63_b63b9ba5","line":6584,"range":{"start_line":6557,"start_character":0,"end_line":6584,"end_character":13},"in_reply_to":"39f587df_00e875f6","updated":"2024-09-19 11:20:55.000000000","message":"Done","commit_id":"19b87b124b54e819e84dbf4980ddf92e2ad6da4d"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"0bc6a8d8db76927e8ea9b80d5351ff0a9ae89955","unresolved":true,"context_lines":[{"line_number":6622,"context_line":"@require_context"},{"line_number":6623,"context_line":"@context_manager.reader"},{"line_number":6624,"context_line":"def count_share_group_snapshot_members_in_share("},{"line_number":6625,"context_line":"    context, share_id, include_deferred_deleting\u003dFalse"},{"line_number":6626,"context_line":"):"},{"line_number":6627,"context_line":"    query \u003d model_query("},{"line_number":6628,"context_line":"        context, models.ShareSnapshotInstance,"}],"source_content_type":"text/x-python","patch_set":10,"id":"112d29b5_1426c1b2","line":6625,"range":{"start_line":6625,"start_character":49,"end_line":6625,"end_character":54},"updated":"2024-09-19 14:03:47.000000000","message":"Please preserve the same default as db/api.py: True","commit_id":"e3706cc4372b4f19df320d396a5731534e1c6a80"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"9d374399c6450d508d502ec87939e5fdd964a56c","unresolved":false,"context_lines":[{"line_number":6622,"context_line":"@require_context"},{"line_number":6623,"context_line":"@context_manager.reader"},{"line_number":6624,"context_line":"def count_share_group_snapshot_members_in_share("},{"line_number":6625,"context_line":"    context, share_id, include_deferred_deleting\u003dFalse"},{"line_number":6626,"context_line":"):"},{"line_number":6627,"context_line":"    query \u003d model_query("},{"line_number":6628,"context_line":"        context, models.ShareSnapshotInstance,"}],"source_content_type":"text/x-python","patch_set":10,"id":"ba39592b_854480ab","line":6625,"range":{"start_line":6625,"start_character":49,"end_line":6625,"end_character":54},"in_reply_to":"112d29b5_1426c1b2","updated":"2024-09-19 15:33:23.000000000","message":"Done","commit_id":"e3706cc4372b4f19df320d396a5731534e1c6a80"}],"manila/share/api.py":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"4b89b5ce2275cf9b9e79f55f644b923074ea4070","unresolved":true,"context_lines":[{"line_number":2187,"context_line":"        if force and deferred_delete:"},{"line_number":2188,"context_line":"            deferred_delete \u003d False"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"        current_status \u003d snapshot_instances[0][\u0027status\u0027]"},{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"}],"source_content_type":"text/x-python","patch_set":6,"id":"f593f6ba_d275c1d7","line":2190,"range":{"start_line":2190,"start_character":25,"end_line":2190,"end_character":56},"updated":"2024-06-25 08:00:10.000000000","message":"Why do we only look at the first snapshot_instance? Can\u0027t we use snapshot[\u0027aggregate_status\u0027]?","commit_id":"2f88c6722efd8522c35f97c030dfa7f501112ca1"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"bf9565512a2dbd0c3a7810ae89a1c82f16688fe4","unresolved":false,"context_lines":[{"line_number":2187,"context_line":"        if force and deferred_delete:"},{"line_number":2188,"context_line":"            deferred_delete \u003d False"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"        current_status \u003d snapshot_instances[0][\u0027status\u0027]"},{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"}],"source_content_type":"text/x-python","patch_set":6,"id":"996dd40b_d42cd208","line":2190,"range":{"start_line":2190,"start_character":25,"end_line":2190,"end_character":56},"in_reply_to":"f593f6ba_d275c1d7","updated":"2024-06-25 10:05:50.000000000","message":"since we are deleting snapshot, we assume there must be single snapshot instance. But I have changed to \u0027aggregate_status\u0027.","commit_id":"2f88c6722efd8522c35f97c030dfa7f501112ca1"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":true,"context_lines":[{"line_number":2187,"context_line":"        if force and deferred_delete:"},{"line_number":2188,"context_line":"            deferred_delete \u003d False"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"        current_status \u003d snapshot[\u0027aggregate_status\u0027]"},{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"}],"source_content_type":"text/x-python","patch_set":7,"id":"70e77f89_81c3ad96","line":2190,"updated":"2024-07-19 03:05:58.000000000","message":"add:\n\n    reclaim_quota \u003d False","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":2187,"context_line":"        if force and deferred_delete:"},{"line_number":2188,"context_line":"            deferred_delete \u003d False"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"        current_status \u003d snapshot[\u0027aggregate_status\u0027]"},{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"}],"source_content_type":"text/x-python","patch_set":7,"id":"8327da08_f43b79f3","line":2190,"in_reply_to":"70e77f89_81c3ad96","updated":"2024-07-19 11:31:29.000000000","message":"Acknowledged","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":2188,"context_line":"            deferred_delete \u003d False"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"        current_status \u003d snapshot[\u0027aggregate_status\u0027]"},{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"},{"line_number":2194,"context_line":"            if deferred_delete:"},{"line_number":2195,"context_line":"                new_status \u003d constants.STATUS_DEFERRED_DELETING"}],"source_content_type":"text/x-python","patch_set":7,"id":"574cb16e_760c7d48","line":2192,"range":{"start_line":2191,"start_character":8,"end_line":2192,"end_character":76},"updated":"2024-07-18 22:22:45.000000000","message":"i\u0027ve a question:\n\nif a snapshot is already in one of these two states, it means that we\u0027ve reclaimed the quota once.. But, if the administrator requests to delete such a snapshot again before its gone, you\u0027ll end up reclaiming quota again. Isn\u0027t this a bug?","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"aca934ddb23d16f8997b12bd17de7d8aafb62b73","unresolved":false,"context_lines":[{"line_number":2188,"context_line":"            deferred_delete \u003d False"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"        current_status \u003d snapshot[\u0027aggregate_status\u0027]"},{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"},{"line_number":2194,"context_line":"            if deferred_delete:"},{"line_number":2195,"context_line":"                new_status \u003d constants.STATUS_DEFERRED_DELETING"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fe39f25_921e3243","line":2192,"range":{"start_line":2191,"start_character":8,"end_line":2192,"end_character":76},"in_reply_to":"36a96602_70a4a27e","updated":"2024-07-23 02:54:01.000000000","message":"Thank you for your explanation.\nif a snapshot is already in one of these two states, if admin want to delete snapshot again, admin must set force\u003dtrue. then deferred_delete will be false(line 2187-2188).\nso manager.py will not reclaiming quota again.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":true,"context_lines":[{"line_number":2188,"context_line":"            deferred_delete \u003d False"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"        current_status \u003d snapshot[\u0027aggregate_status\u0027]"},{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"},{"line_number":2194,"context_line":"            if deferred_delete:"},{"line_number":2195,"context_line":"                new_status \u003d constants.STATUS_DEFERRED_DELETING"}],"source_content_type":"text/x-python","patch_set":7,"id":"5fda384a_265ffd90","line":2192,"range":{"start_line":2191,"start_character":8,"end_line":2192,"end_character":76},"in_reply_to":"574cb16e_760c7d48","updated":"2024-07-19 03:05:58.000000000","message":"In my opinion, there is such a bug, and in order to fix it, we have to determine if the snapshot was deferred_delete for the first time. Only the first time we can reclaim the quota.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":2188,"context_line":"            deferred_delete \u003d False"},{"line_number":2189,"context_line":""},{"line_number":2190,"context_line":"        current_status \u003d snapshot[\u0027aggregate_status\u0027]"},{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"},{"line_number":2194,"context_line":"            if deferred_delete:"},{"line_number":2195,"context_line":"                new_status \u003d constants.STATUS_DEFERRED_DELETING"}],"source_content_type":"text/x-python","patch_set":7,"id":"36a96602_70a4a27e","line":2192,"range":{"start_line":2191,"start_character":8,"end_line":2192,"end_character":76},"in_reply_to":"5fda384a_265ffd90","updated":"2024-07-19 11:31:29.000000000","message":"If snapshot is deleted first time, then we claim quota.\nWith deferred deleting state for next-time, its always with force\u003dTrue. So if force is True then its regular forceful deletion, but we make sure quota is untouched for these special states in manager.py (line #4006).","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":true,"context_lines":[{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"},{"line_number":2194,"context_line":"            if deferred_delete:"},{"line_number":2195,"context_line":"                new_status \u003d constants.STATUS_DEFERRED_DELETING"},{"line_number":2196,"context_line":"            for snapshot_instance in snapshot_instances:"},{"line_number":2197,"context_line":"                self.db.share_snapshot_instance_update("},{"line_number":2198,"context_line":"                    context, snapshot_instance[\u0027id\u0027], {\u0027status\u0027: new_status})"}],"source_content_type":"text/x-python","patch_set":7,"id":"d1af20c0_b8db01e3","line":2195,"range":{"start_line":2194,"start_character":12,"end_line":2195,"end_character":63},"updated":"2024-07-19 03:05:58.000000000","message":"if deferred_delete:\n        # must be deferred_delete for the first time.\n        new_status \u003d constants.STATUS_DEFERRED_DELETING\n        reclaim_quota \u003d True","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":2191,"context_line":"        if current_status not in (constants.STATUS_DEFERRED_DELETING,"},{"line_number":2192,"context_line":"                                  constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":2193,"context_line":"            new_status \u003d constants.STATUS_DELETING"},{"line_number":2194,"context_line":"            if deferred_delete:"},{"line_number":2195,"context_line":"                new_status \u003d constants.STATUS_DEFERRED_DELETING"},{"line_number":2196,"context_line":"            for snapshot_instance in snapshot_instances:"},{"line_number":2197,"context_line":"                self.db.share_snapshot_instance_update("},{"line_number":2198,"context_line":"                    context, snapshot_instance[\u0027id\u0027], {\u0027status\u0027: new_status})"}],"source_content_type":"text/x-python","patch_set":7,"id":"34ecd86e_6743c0a9","line":2195,"range":{"start_line":2194,"start_character":12,"end_line":2195,"end_character":63},"in_reply_to":"d1af20c0_b8db01e3","updated":"2024-07-19 11:31:29.000000000","message":"Acknowledged","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":true,"context_lines":[{"line_number":2204,"context_line":"        else:"},{"line_number":2205,"context_line":"            self.share_rpcapi.delete_snapshot("},{"line_number":2206,"context_line":"                context, snapshot, share[\u0027instance\u0027][\u0027host\u0027],"},{"line_number":2207,"context_line":"                force\u003dforce, deferred_delete\u003ddeferred_delete)"},{"line_number":2208,"context_line":""},{"line_number":2209,"context_line":"    @policy.wrap_check_policy(\u0027share\u0027)"},{"line_number":2210,"context_line":"    def update(self, context, share, fields):"}],"source_content_type":"text/x-python","patch_set":7,"id":"e52cb501_3e94cc9b","line":2207,"range":{"start_line":2207,"start_character":16,"end_line":2207,"end_character":52},"updated":"2024-07-19 03:05:58.000000000","message":"force\u003dforce, deferred_delete\u003ddeferred_delete, reclaim_quota\u003dreclaim_quota)","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":2204,"context_line":"        else:"},{"line_number":2205,"context_line":"            self.share_rpcapi.delete_snapshot("},{"line_number":2206,"context_line":"                context, snapshot, share[\u0027instance\u0027][\u0027host\u0027],"},{"line_number":2207,"context_line":"                force\u003dforce, deferred_delete\u003ddeferred_delete)"},{"line_number":2208,"context_line":""},{"line_number":2209,"context_line":"    @policy.wrap_check_policy(\u0027share\u0027)"},{"line_number":2210,"context_line":"    def update(self, context, share, fields):"}],"source_content_type":"text/x-python","patch_set":7,"id":"e48b5799_a47951d8","line":2207,"range":{"start_line":2207,"start_character":16,"end_line":2207,"end_character":52},"in_reply_to":"e52cb501_3e94cc9b","updated":"2024-07-19 11:31:29.000000000","message":"Acknowledged","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"}],"manila/share/manager.py":[{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"000c46b426d4cdb0bbee3463b4d8eaa3fa28a9ba","unresolved":true,"context_lines":[{"line_number":3716,"context_line":"                msg \u003d (\"The driver was unable to delete access rules \""},{"line_number":3717,"context_line":"                       \"for the instance: %s.\")"},{"line_number":3718,"context_line":"                LOG.error(msg, share_instance_id)"},{"line_number":3719,"context_line":"                self.db.share_instance_update("},{"line_number":3720,"context_line":"                    ctxt,"},{"line_number":3721,"context_line":"                    share_instance_id,"},{"line_number":3722,"context_line":"                    {\u0027status\u0027: constants.STATUS_ERROR_DEFERRED_DELETING})"},{"line_number":3723,"context_line":"                continue"},{"line_number":3724,"context_line":""},{"line_number":3725,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"d8cb2df3_b92bc5db","line":3722,"range":{"start_line":3719,"start_character":16,"end_line":3722,"end_character":73},"updated":"2024-06-12 03:09:46.000000000","message":"the status of share instance already is error_deferred_deleting, since we only get those share instances in line 3686. so no need to set status again.","commit_id":"9adb97f32feb8cfd4a432d747d3f680132743818"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0863012634401327d560abe5a952c075d5609731","unresolved":false,"context_lines":[{"line_number":3716,"context_line":"                msg \u003d (\"The driver was unable to delete access rules \""},{"line_number":3717,"context_line":"                       \"for the instance: %s.\")"},{"line_number":3718,"context_line":"                LOG.error(msg, share_instance_id)"},{"line_number":3719,"context_line":"                self.db.share_instance_update("},{"line_number":3720,"context_line":"                    ctxt,"},{"line_number":3721,"context_line":"                    share_instance_id,"},{"line_number":3722,"context_line":"                    {\u0027status\u0027: constants.STATUS_ERROR_DEFERRED_DELETING})"},{"line_number":3723,"context_line":"                continue"},{"line_number":3724,"context_line":""},{"line_number":3725,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"2fae75b8_b8963490","line":3722,"range":{"start_line":3719,"start_character":16,"end_line":3722,"end_character":73},"in_reply_to":"d8cb2df3_b92bc5db","updated":"2024-06-12 07:13:41.000000000","message":"updated all instances of db updates for share/snapshot deferred deletion since we are in error_deferred_deleting state.","commit_id":"9adb97f32feb8cfd4a432d747d3f680132743818"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"000c46b426d4cdb0bbee3463b4d8eaa3fa28a9ba","unresolved":true,"context_lines":[{"line_number":4005,"context_line":"                    exception\u003dexcep)"},{"line_number":4006,"context_line":""},{"line_number":4007,"context_line":"        snapshot_instance \u003d self.db.share_snapshot_instance_get("},{"line_number":4008,"context_line":"            context, snapshot_ref.instance[\u0027id\u0027], with_share_data\u003dTrue)"},{"line_number":4009,"context_line":"        if snapshot_instance[\u0027status\u0027] \u003d\u003d ("},{"line_number":4010,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING) and not force:"},{"line_number":4011,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"d207212c_7c37c37c","line":4008,"range":{"start_line":4008,"start_character":50,"end_line":4008,"end_character":70},"updated":"2024-06-12 03:09:46.000000000","message":"maybe we no need share data.","commit_id":"9adb97f32feb8cfd4a432d747d3f680132743818"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"0863012634401327d560abe5a952c075d5609731","unresolved":false,"context_lines":[{"line_number":4005,"context_line":"                    exception\u003dexcep)"},{"line_number":4006,"context_line":""},{"line_number":4007,"context_line":"        snapshot_instance \u003d self.db.share_snapshot_instance_get("},{"line_number":4008,"context_line":"            context, snapshot_ref.instance[\u0027id\u0027], with_share_data\u003dTrue)"},{"line_number":4009,"context_line":"        if snapshot_instance[\u0027status\u0027] \u003d\u003d ("},{"line_number":4010,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING) and not force:"},{"line_number":4011,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":3,"id":"e3f0f26b_f51a1e87","line":4008,"range":{"start_line":4008,"start_character":50,"end_line":4008,"end_character":70},"in_reply_to":"d207212c_7c37c37c","updated":"2024-06-12 07:13:41.000000000","message":"Done","commit_id":"9adb97f32feb8cfd4a432d747d3f680132743818"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5af9d1506ca6dca9fb4c3171c2891af50414b97a","unresolved":true,"context_lines":[{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                LOG.info("},{"line_number":3536,"context_line":"                    \"Share instance %s has been deferred deleted i.e.\""},{"line_number":3537,"context_line":"                    \"quota is reclaimed and then resource will be deleted \""},{"line_number":3538,"context_line":"                    \"by driver.\", share_instance_id"},{"line_number":3539,"context_line":"                )"},{"line_number":3540,"context_line":"                self.db.update_share_instance_quota_usages("},{"line_number":3541,"context_line":"                    context, share_instance_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"29101922_0bf5fa46","line":3538,"range":{"start_line":3536,"start_character":20,"end_line":3538,"end_character":51},"updated":"2024-06-21 16:51:14.000000000","message":"```suggestion\n                    \"Share instance %s had its deletion deferred. Quota was \"\n                    \"reclaimed and the share driver will proceed with \"\n                    \"the deletion.\", share_instance_id\n```","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"4cae491acdd6aec903e209a5512cfed99fa5af8a","unresolved":false,"context_lines":[{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                LOG.info("},{"line_number":3536,"context_line":"                    \"Share instance %s has been deferred deleted i.e.\""},{"line_number":3537,"context_line":"                    \"quota is reclaimed and then resource will be deleted \""},{"line_number":3538,"context_line":"                    \"by driver.\", share_instance_id"},{"line_number":3539,"context_line":"                )"},{"line_number":3540,"context_line":"                self.db.update_share_instance_quota_usages("},{"line_number":3541,"context_line":"                    context, share_instance_id)"}],"source_content_type":"text/x-python","patch_set":5,"id":"64675e35_1c950ba1","line":3538,"range":{"start_line":3536,"start_character":20,"end_line":3538,"end_character":51},"in_reply_to":"29101922_0bf5fa46","updated":"2024-06-24 08:35:50.000000000","message":"Done","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5af9d1506ca6dca9fb4c3171c2891af50414b97a","unresolved":true,"context_lines":[{"line_number":3943,"context_line":"        if deferred_delete:"},{"line_number":3944,"context_line":"            try:"},{"line_number":3945,"context_line":"                LOG.info("},{"line_number":3946,"context_line":"                    \"Snapshot instance %s has been deferred deleted i.e.\""},{"line_number":3947,"context_line":"                    \"quota is reclaimed and then resource will be deleted \""},{"line_number":3948,"context_line":"                    \"by driver.\", snapshot_instance[\u0027id\u0027]"},{"line_number":3949,"context_line":"                )"},{"line_number":3950,"context_line":"                self._delete_snapshot_quota(context, snapshot_ref)"},{"line_number":3951,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":5,"id":"4fd279f8_85a681bf","line":3948,"range":{"start_line":3946,"start_character":21,"end_line":3948,"end_character":31},"updated":"2024-06-21 16:51:14.000000000","message":"I\u0027d follow the same pattern of messaging I suggested above","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"4cae491acdd6aec903e209a5512cfed99fa5af8a","unresolved":false,"context_lines":[{"line_number":3943,"context_line":"        if deferred_delete:"},{"line_number":3944,"context_line":"            try:"},{"line_number":3945,"context_line":"                LOG.info("},{"line_number":3946,"context_line":"                    \"Snapshot instance %s has been deferred deleted i.e.\""},{"line_number":3947,"context_line":"                    \"quota is reclaimed and then resource will be deleted \""},{"line_number":3948,"context_line":"                    \"by driver.\", snapshot_instance[\u0027id\u0027]"},{"line_number":3949,"context_line":"                )"},{"line_number":3950,"context_line":"                self._delete_snapshot_quota(context, snapshot_ref)"},{"line_number":3951,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":5,"id":"292d270c_ea60ceba","line":3948,"range":{"start_line":3946,"start_character":21,"end_line":3948,"end_character":31},"in_reply_to":"4fd279f8_85a681bf","updated":"2024-06-24 08:35:50.000000000","message":"Done","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                LOG.info("},{"line_number":3536,"context_line":"                    \"Share instance %s had its deletion deferred. Quota was \""},{"line_number":3537,"context_line":"                    \"reclaimed and the share driver will proceed with the \""},{"line_number":3538,"context_line":"                    \"deletion.\", share_instance_id"},{"line_number":3539,"context_line":"                )"},{"line_number":3540,"context_line":"                self.db.update_share_instance_quota_usages("},{"line_number":3541,"context_line":"                    context, share_instance_id)"},{"line_number":3542,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":7,"id":"50bf5de6_bc723df5","line":3539,"range":{"start_line":3535,"start_character":16,"end_line":3539,"end_character":17},"updated":"2024-07-18 22:22:45.000000000","message":"This has to be logged _after_ the quota usage update. If the quota update fails, it\u0027ll be confusing to see this success message followed by the exception on line 3544/3545..","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                LOG.info("},{"line_number":3536,"context_line":"                    \"Share instance %s had its deletion deferred. Quota was \""},{"line_number":3537,"context_line":"                    \"reclaimed and the share driver will proceed with the \""},{"line_number":3538,"context_line":"                    \"deletion.\", share_instance_id"},{"line_number":3539,"context_line":"                )"},{"line_number":3540,"context_line":"                self.db.update_share_instance_quota_usages("},{"line_number":3541,"context_line":"                    context, share_instance_id)"},{"line_number":3542,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":7,"id":"420b122a_ac01cf3e","line":3539,"range":{"start_line":3535,"start_character":16,"end_line":3539,"end_character":17},"in_reply_to":"50bf5de6_bc723df5","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("},{"line_number":3548,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("},{"line_number":3549,"context_line":"                    context, {\u0027share_instance_ids\u0027: share_instance_id}))"},{"line_number":3550,"context_line":"            if snap_instances:"},{"line_number":3551,"context_line":"                # special case"},{"line_number":3552,"context_line":"                # 1. snapshot deferred_deleted"}],"source_content_type":"text/x-python","patch_set":7,"id":"4be523e9_efa83021","line":3549,"range":{"start_line":3547,"start_character":12,"end_line":3549,"end_character":72},"updated":"2024-07-18 22:22:45.000000000","message":"is the reason for this check and processing that you\u0027d like to process snapshot deletion before the share instance deletion?\n\nI\u0027m confused why you\u0027ll need to set the share instance status to \"error_deferred_deleting\". Why not just leave it in its current state: \"deferred_deleting\" and return?","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":true,"context_lines":[{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("},{"line_number":3548,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("},{"line_number":3549,"context_line":"                    context, {\u0027share_instance_ids\u0027: share_instance_id}))"},{"line_number":3550,"context_line":"            if snap_instances:"},{"line_number":3551,"context_line":"                # special case"},{"line_number":3552,"context_line":"                # 1. snapshot deferred_deleted"}],"source_content_type":"text/x-python","patch_set":7,"id":"f0b6c757_f640bdad","line":3549,"range":{"start_line":3547,"start_character":12,"end_line":3549,"end_character":72},"in_reply_to":"4be523e9_efa83021","updated":"2024-07-19 03:05:58.000000000","message":"Why not just leave it in its current state: \"deferred_deleting\" and return?\n because in manager.py periodic task for do_deferred_share_deletion only delete\n share instance with error_deferred_deleting.\n\n\nbut i have another question:\nin manila/share/api.py\n\n    def delete(self, context, share, force\u003dFalse):\n        ...\n        snapshots \u003d self.db.share_snapshot_get_all_for_share(context, share_id)\n        if len(snapshots):\n            msg \u003d _(\"Share still has %d dependent snapshots.\") % len(snapshots)\n            raise exception.InvalidShare(reason\u003dmsg)\n            \nso if a share still has snapshot(contain deferred_deleting or deferred_deleting_error), deletion will be  prohibited in the api layer.\n\nIs it necessary to check the snapshot again at this point?","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"aca934ddb23d16f8997b12bd17de7d8aafb62b73","unresolved":false,"context_lines":[{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("},{"line_number":3548,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("},{"line_number":3549,"context_line":"                    context, {\u0027share_instance_ids\u0027: share_instance_id}))"},{"line_number":3550,"context_line":"            if snap_instances:"},{"line_number":3551,"context_line":"                # special case"},{"line_number":3552,"context_line":"                # 1. snapshot deferred_deleted"}],"source_content_type":"text/x-python","patch_set":7,"id":"c94b3f55_60a590ab","line":3549,"range":{"start_line":3547,"start_character":12,"end_line":3549,"end_character":72},"in_reply_to":"60837815_ac2c46a1","updated":"2024-07-23 02:54:01.000000000","message":"i got it, thanks.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("},{"line_number":3548,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("},{"line_number":3549,"context_line":"                    context, {\u0027share_instance_ids\u0027: share_instance_id}))"},{"line_number":3550,"context_line":"            if snap_instances:"},{"line_number":3551,"context_line":"                # special case"},{"line_number":3552,"context_line":"                # 1. snapshot deferred_deleted"}],"source_content_type":"text/x-python","patch_set":7,"id":"60837815_ac2c46a1","line":3549,"range":{"start_line":3547,"start_character":12,"end_line":3549,"end_character":72},"in_reply_to":"f0b6c757_f640bdad","updated":"2024-07-19 11:31:29.000000000","message":"Reply from haixin is correct as we change state to `error_deferred_deleting` because that is only considered in periodic task.\n\n\u003eIs it necessary to check the snapshot again at this point?\nThe API layer makes sure snapshots does not exist, but at that stage it does not consider snapshots in deferred delete states. Deferred delete states are only visible to admin, by introducing filter `list_deferred_delete`. So to handle special case where snapshot is deferred deleted and share is deleted immediately, we make sure share to push in deferred deleting error state and then handle both snapshot and share in their respective periodic tasks as deferred state are hidden from user.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":3594,"context_line":"                    resource_id\u003dshare_instance_id,"},{"line_number":3595,"context_line":"                    exception\u003dexcep)"},{"line_number":3596,"context_line":""},{"line_number":3597,"context_line":"        share_instance \u003d self._get_share_instance(context, share_instance_id)"},{"line_number":3598,"context_line":"        if share_instance[\u0027status\u0027] \u003d\u003d ("},{"line_number":3599,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING) and not force:"},{"line_number":3600,"context_line":"            return"},{"line_number":3601,"context_line":""},{"line_number":3602,"context_line":"        try:"},{"line_number":3603,"context_line":"            self.driver.delete_share(context, share_instance,"}],"source_content_type":"text/x-python","patch_set":7,"id":"0d4fd9a0_d4f8fbff","line":3600,"range":{"start_line":3597,"start_character":8,"end_line":3600,"end_character":18},"updated":"2024-07-18 22:22:45.000000000","message":"instead of re-reading the object from the database here and on line 3635, please record that this share is in \"error_deferred_deleting\" with the help of a variable... making round trips to the database can be slow/expensive","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3594,"context_line":"                    resource_id\u003dshare_instance_id,"},{"line_number":3595,"context_line":"                    exception\u003dexcep)"},{"line_number":3596,"context_line":""},{"line_number":3597,"context_line":"        share_instance \u003d self._get_share_instance(context, share_instance_id)"},{"line_number":3598,"context_line":"        if share_instance[\u0027status\u0027] \u003d\u003d ("},{"line_number":3599,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING) and not force:"},{"line_number":3600,"context_line":"            return"},{"line_number":3601,"context_line":""},{"line_number":3602,"context_line":"        try:"},{"line_number":3603,"context_line":"            self.driver.delete_share(context, share_instance,"}],"source_content_type":"text/x-python","patch_set":7,"id":"b98dfb83_6cd55ed2","line":3600,"range":{"start_line":3597,"start_character":8,"end_line":3600,"end_character":18},"in_reply_to":"0d4fd9a0_d4f8fbff","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":3684,"context_line":"            ctxt,"},{"line_number":3685,"context_line":"            filters\u003d{"},{"line_number":3686,"context_line":"                \u0027status\u0027: constants.STATUS_ERROR_DEFERRED_DELETING,"},{"line_number":3687,"context_line":"                \u0027host\u0027: self.host"},{"line_number":3688,"context_line":"            }"},{"line_number":3689,"context_line":"        )"},{"line_number":3690,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"9a4146ac_1d6c73ab","line":3687,"range":{"start_line":3687,"start_character":31,"end_line":3687,"end_character":33},"updated":"2024-07-18 22:22:45.000000000","message":"nit: trailing comma","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3684,"context_line":"            ctxt,"},{"line_number":3685,"context_line":"            filters\u003d{"},{"line_number":3686,"context_line":"                \u0027status\u0027: constants.STATUS_ERROR_DEFERRED_DELETING,"},{"line_number":3687,"context_line":"                \u0027host\u0027: self.host"},{"line_number":3688,"context_line":"            }"},{"line_number":3689,"context_line":"        )"},{"line_number":3690,"context_line":""}],"source_content_type":"text/x-python","patch_set":7,"id":"3a080422_0cebe960","line":3687,"range":{"start_line":3687,"start_character":31,"end_line":3687,"end_character":33},"in_reply_to":"9a4146ac_1d6c73ab","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":3685,"context_line":"            filters\u003d{"},{"line_number":3686,"context_line":"                \u0027status\u0027: constants.STATUS_ERROR_DEFERRED_DELETING,"},{"line_number":3687,"context_line":"                \u0027host\u0027: self.host"},{"line_number":3688,"context_line":"            }"},{"line_number":3689,"context_line":"        )"},{"line_number":3690,"context_line":""},{"line_number":3691,"context_line":"        for share_instance in share_instances:"}],"source_content_type":"text/x-python","patch_set":7,"id":"f8d0c20c_ca8ce1a3","line":3688,"range":{"start_line":3688,"start_character":12,"end_line":3688,"end_character":13},"updated":"2024-07-18 22:22:45.000000000","message":"nit: trailing comma","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3685,"context_line":"            filters\u003d{"},{"line_number":3686,"context_line":"                \u0027status\u0027: constants.STATUS_ERROR_DEFERRED_DELETING,"},{"line_number":3687,"context_line":"                \u0027host\u0027: self.host"},{"line_number":3688,"context_line":"            }"},{"line_number":3689,"context_line":"        )"},{"line_number":3690,"context_line":""},{"line_number":3691,"context_line":"        for share_instance in share_instances:"}],"source_content_type":"text/x-python","patch_set":7,"id":"25b24615_d89d2139","line":3688,"range":{"start_line":3688,"start_character":12,"end_line":3688,"end_character":13},"in_reply_to":"f8d0c20c_ca8ce1a3","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":3697,"context_line":"                )"},{"line_number":3698,"context_line":"            )"},{"line_number":3699,"context_line":""},{"line_number":3700,"context_line":"            snap_instances \u003d ("},{"line_number":3701,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("},{"line_number":3702,"context_line":"                    ctxt, {\u0027share_instance_ids\u0027: share_instance_id}))"},{"line_number":3703,"context_line":"            if snap_instances:"},{"line_number":3704,"context_line":"                LOG.warning(\"Snapshot instances are present for the \""},{"line_number":3705,"context_line":"                            \"share instance: %s.\", share_instance_id)"},{"line_number":3706,"context_line":"                continue"},{"line_number":3707,"context_line":""},{"line_number":3708,"context_line":"            try:"},{"line_number":3709,"context_line":"                self.access_helper.update_access_rules("}],"source_content_type":"text/x-python","patch_set":7,"id":"9db2c121_6a38ee0f","line":3706,"range":{"start_line":3700,"start_character":12,"end_line":3706,"end_character":24},"updated":"2024-07-18 22:22:45.000000000","message":"why not invoke snapshot deletion and then clean up the share here? I\u0027m concerned with deferring this further","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":true,"context_lines":[{"line_number":3697,"context_line":"                )"},{"line_number":3698,"context_line":"            )"},{"line_number":3699,"context_line":""},{"line_number":3700,"context_line":"            snap_instances \u003d ("},{"line_number":3701,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("},{"line_number":3702,"context_line":"                    ctxt, {\u0027share_instance_ids\u0027: share_instance_id}))"},{"line_number":3703,"context_line":"            if snap_instances:"},{"line_number":3704,"context_line":"                LOG.warning(\"Snapshot instances are present for the \""},{"line_number":3705,"context_line":"                            \"share instance: %s.\", share_instance_id)"},{"line_number":3706,"context_line":"                continue"},{"line_number":3707,"context_line":""},{"line_number":3708,"context_line":"            try:"},{"line_number":3709,"context_line":"                self.access_helper.update_access_rules("}],"source_content_type":"text/x-python","patch_set":7,"id":"c5de41b5_edc7402b","line":3706,"range":{"start_line":3700,"start_character":12,"end_line":3706,"end_character":24},"in_reply_to":"9db2c121_6a38ee0f","updated":"2024-07-19 03:05:58.000000000","message":"snapshot was deleted by another periodic task \"do_deferred_snapshot_deletion\", i think it is ok here.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3697,"context_line":"                )"},{"line_number":3698,"context_line":"            )"},{"line_number":3699,"context_line":""},{"line_number":3700,"context_line":"            snap_instances \u003d ("},{"line_number":3701,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("},{"line_number":3702,"context_line":"                    ctxt, {\u0027share_instance_ids\u0027: share_instance_id}))"},{"line_number":3703,"context_line":"            if snap_instances:"},{"line_number":3704,"context_line":"                LOG.warning(\"Snapshot instances are present for the \""},{"line_number":3705,"context_line":"                            \"share instance: %s.\", share_instance_id)"},{"line_number":3706,"context_line":"                continue"},{"line_number":3707,"context_line":""},{"line_number":3708,"context_line":"            try:"},{"line_number":3709,"context_line":"                self.access_helper.update_access_rules("}],"source_content_type":"text/x-python","patch_set":7,"id":"c898111a_4d3e0217","line":3706,"range":{"start_line":3700,"start_character":12,"end_line":3706,"end_character":24},"in_reply_to":"c5de41b5_edc7402b","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":3706,"context_line":"                continue"},{"line_number":3707,"context_line":""},{"line_number":3708,"context_line":"            try:"},{"line_number":3709,"context_line":"                self.access_helper.update_access_rules("},{"line_number":3710,"context_line":"                    ctxt,"},{"line_number":3711,"context_line":"                    share_instance_id,"},{"line_number":3712,"context_line":"                    delete_all_rules\u003dTrue,"},{"line_number":3713,"context_line":"                    share_server\u003dshare_server"},{"line_number":3714,"context_line":"                )"},{"line_number":3715,"context_line":"            except Exception:"},{"line_number":3716,"context_line":"                msg \u003d (\"The driver was unable to delete access rules \""},{"line_number":3717,"context_line":"                       \"for the instance: %s.\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"30050ccd_f52e60d7","line":3714,"range":{"start_line":3709,"start_character":16,"end_line":3714,"end_character":17},"updated":"2024-07-18 22:22:45.000000000","message":"this should already be done for a share being deferred deleted","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":true,"context_lines":[{"line_number":3706,"context_line":"                continue"},{"line_number":3707,"context_line":""},{"line_number":3708,"context_line":"            try:"},{"line_number":3709,"context_line":"                self.access_helper.update_access_rules("},{"line_number":3710,"context_line":"                    ctxt,"},{"line_number":3711,"context_line":"                    share_instance_id,"},{"line_number":3712,"context_line":"                    delete_all_rules\u003dTrue,"},{"line_number":3713,"context_line":"                    share_server\u003dshare_server"},{"line_number":3714,"context_line":"                )"},{"line_number":3715,"context_line":"            except Exception:"},{"line_number":3716,"context_line":"                msg \u003d (\"The driver was unable to delete access rules \""},{"line_number":3717,"context_line":"                       \"for the instance: %s.\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"5057a76b_039d5e64","line":3714,"range":{"start_line":3709,"start_character":16,"end_line":3714,"end_character":17},"in_reply_to":"30050ccd_f52e60d7","updated":"2024-07-19 03:05:58.000000000","message":"because in line 3584 exc_context.reraise \u003d False ,if failed to delete all rules.\nwill not raise. so here just try again.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3706,"context_line":"                continue"},{"line_number":3707,"context_line":""},{"line_number":3708,"context_line":"            try:"},{"line_number":3709,"context_line":"                self.access_helper.update_access_rules("},{"line_number":3710,"context_line":"                    ctxt,"},{"line_number":3711,"context_line":"                    share_instance_id,"},{"line_number":3712,"context_line":"                    delete_all_rules\u003dTrue,"},{"line_number":3713,"context_line":"                    share_server\u003dshare_server"},{"line_number":3714,"context_line":"                )"},{"line_number":3715,"context_line":"            except Exception:"},{"line_number":3716,"context_line":"                msg \u003d (\"The driver was unable to delete access rules \""},{"line_number":3717,"context_line":"                       \"for the instance: %s.\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"d2605fcf_19f3a191","line":3714,"range":{"start_line":3709,"start_character":16,"end_line":3714,"end_character":17},"in_reply_to":"5057a76b_039d5e64","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":true,"context_lines":[{"line_number":3924,"context_line":"    @add_hooks"},{"line_number":3925,"context_line":"    @utils.require_driver_initialized"},{"line_number":3926,"context_line":"    def delete_snapshot(self, context, snapshot_id, force\u003dFalse,"},{"line_number":3927,"context_line":"                        deferred_delete\u003dFalse):"},{"line_number":3928,"context_line":"        \"\"\"Delete share snapshot.\"\"\""},{"line_number":3929,"context_line":"        context \u003d context.elevated()"},{"line_number":3930,"context_line":"        snapshot_ref \u003d self.db.share_snapshot_get(context, snapshot_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"3094179a_212732c6","line":3927,"range":{"start_line":3927,"start_character":24,"end_line":3927,"end_character":47},"updated":"2024-07-19 03:05:58.000000000","message":"deferred_delete\u003dFalse, reclaim_quota\u003dFalse):","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3924,"context_line":"    @add_hooks"},{"line_number":3925,"context_line":"    @utils.require_driver_initialized"},{"line_number":3926,"context_line":"    def delete_snapshot(self, context, snapshot_id, force\u003dFalse,"},{"line_number":3927,"context_line":"                        deferred_delete\u003dFalse):"},{"line_number":3928,"context_line":"        \"\"\"Delete share snapshot.\"\"\""},{"line_number":3929,"context_line":"        context \u003d context.elevated()"},{"line_number":3930,"context_line":"        snapshot_ref \u003d self.db.share_snapshot_get(context, snapshot_id)"}],"source_content_type":"text/x-python","patch_set":7,"id":"a17c979a_2b24c60e","line":3927,"range":{"start_line":3927,"start_character":24,"end_line":3927,"end_character":47},"in_reply_to":"3094179a_212732c6","updated":"2024-07-19 11:31:29.000000000","message":"Acknowledged","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":3942,"context_line":""},{"line_number":3943,"context_line":"        if deferred_delete:"},{"line_number":3944,"context_line":"            try:"},{"line_number":3945,"context_line":"                LOG.info("},{"line_number":3946,"context_line":"                    \"Snapshot instance %s had its deletion deferred. Quota \""},{"line_number":3947,"context_line":"                    \"was reclaimed and the share driver will proceed with \""},{"line_number":3948,"context_line":"                    \"the deletion.\", snapshot_instance[\u0027id\u0027]"},{"line_number":3949,"context_line":"                )"},{"line_number":3950,"context_line":"                self._delete_snapshot_quota(context, snapshot_ref)"},{"line_number":3951,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":7,"id":"aa0ac30e_90428c87","line":3948,"range":{"start_line":3945,"start_character":16,"end_line":3948,"end_character":20},"updated":"2024-07-18 22:22:45.000000000","message":"same comment as earlier; log this after the next line of code","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3942,"context_line":""},{"line_number":3943,"context_line":"        if deferred_delete:"},{"line_number":3944,"context_line":"            try:"},{"line_number":3945,"context_line":"                LOG.info("},{"line_number":3946,"context_line":"                    \"Snapshot instance %s had its deletion deferred. Quota \""},{"line_number":3947,"context_line":"                    \"was reclaimed and the share driver will proceed with \""},{"line_number":3948,"context_line":"                    \"the deletion.\", snapshot_instance[\u0027id\u0027]"},{"line_number":3949,"context_line":"                )"},{"line_number":3950,"context_line":"                self._delete_snapshot_quota(context, snapshot_ref)"},{"line_number":3951,"context_line":"            except Exception:"}],"source_content_type":"text/x-python","patch_set":7,"id":"ef6f51b2_20bd1e20","line":3948,"range":{"start_line":3945,"start_character":16,"end_line":3948,"end_character":20},"in_reply_to":"aa0ac30e_90428c87","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"77e66b166b5e8db7c44f90058721f582689511bb","unresolved":true,"context_lines":[{"line_number":3947,"context_line":"                    \"was reclaimed and the share driver will proceed with \""},{"line_number":3948,"context_line":"                    \"the deletion.\", snapshot_instance[\u0027id\u0027]"},{"line_number":3949,"context_line":"                )"},{"line_number":3950,"context_line":"                self._delete_snapshot_quota(context, snapshot_ref)"},{"line_number":3951,"context_line":"            except Exception:"},{"line_number":3952,"context_line":"                LOG.warning("},{"line_number":3953,"context_line":"                    \"Error occured during quota usage update. Administrator \""}],"source_content_type":"text/x-python","patch_set":7,"id":"23d00f1f_030081bb","line":3950,"range":{"start_line":3950,"start_character":16,"end_line":3950,"end_character":66},"updated":"2024-07-19 03:05:58.000000000","message":"if reclaim_quota:\n        self._delete_snapshot_quota(context, snapshot_ref)","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":30407,"name":"haixin","email":"haixin_haixin@qq.com","username":"haixin"},"change_message_id":"aca934ddb23d16f8997b12bd17de7d8aafb62b73","unresolved":false,"context_lines":[{"line_number":3947,"context_line":"                    \"was reclaimed and the share driver will proceed with \""},{"line_number":3948,"context_line":"                    \"the deletion.\", snapshot_instance[\u0027id\u0027]"},{"line_number":3949,"context_line":"                )"},{"line_number":3950,"context_line":"                self._delete_snapshot_quota(context, snapshot_ref)"},{"line_number":3951,"context_line":"            except Exception:"},{"line_number":3952,"context_line":"                LOG.warning("},{"line_number":3953,"context_line":"                    \"Error occured during quota usage update. Administrator \""}],"source_content_type":"text/x-python","patch_set":7,"id":"c7ba0768_27cff099","line":3950,"range":{"start_line":3950,"start_character":16,"end_line":3950,"end_character":66},"in_reply_to":"16a77a9b_5dce970d","updated":"2024-07-23 02:54:01.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":true,"context_lines":[{"line_number":3947,"context_line":"                    \"was reclaimed and the share driver will proceed with \""},{"line_number":3948,"context_line":"                    \"the deletion.\", snapshot_instance[\u0027id\u0027]"},{"line_number":3949,"context_line":"                )"},{"line_number":3950,"context_line":"                self._delete_snapshot_quota(context, snapshot_ref)"},{"line_number":3951,"context_line":"            except Exception:"},{"line_number":3952,"context_line":"                LOG.warning("},{"line_number":3953,"context_line":"                    \"Error occured during quota usage update. Administrator \""}],"source_content_type":"text/x-python","patch_set":7,"id":"16a77a9b_5dce970d","line":3950,"range":{"start_line":3950,"start_character":16,"end_line":3950,"end_character":66},"in_reply_to":"23d00f1f_030081bb","updated":"2024-07-19 11:31:29.000000000","message":"This passing of reclaim_quota is not needed. Share/snapshots with deferred deletion states are possible to deleted only with Force\u003dTrue. So we just need to handle that force should take care of special i.e. deferre_deletion states.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":3995,"context_line":"                    resource_type\u003dmessage_field.Resource.SHARE_SNAPSHOT,"},{"line_number":3996,"context_line":"                    resource_id\u003dsnapshot_instance_id,"},{"line_number":3997,"context_line":"                    exception\u003dexcep)"},{"line_number":3998,"context_line":""},{"line_number":3999,"context_line":"        snapshot_instance \u003d self.db.share_snapshot_instance_get("},{"line_number":4000,"context_line":"            context, snapshot_ref.instance[\u0027id\u0027])"},{"line_number":4001,"context_line":"        if snapshot_instance[\u0027status\u0027] \u003d\u003d ("},{"line_number":4002,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING) and not force:"},{"line_number":4003,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":7,"id":"f92168f6_5f92f1d5","line":4000,"range":{"start_line":3998,"start_character":0,"end_line":4000,"end_character":49},"updated":"2024-07-18 22:22:45.000000000","message":"unnecessary db call; please record the status of the snapshot earlier, and after you change it","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":3995,"context_line":"                    resource_type\u003dmessage_field.Resource.SHARE_SNAPSHOT,"},{"line_number":3996,"context_line":"                    resource_id\u003dsnapshot_instance_id,"},{"line_number":3997,"context_line":"                    exception\u003dexcep)"},{"line_number":3998,"context_line":""},{"line_number":3999,"context_line":"        snapshot_instance \u003d self.db.share_snapshot_instance_get("},{"line_number":4000,"context_line":"            context, snapshot_ref.instance[\u0027id\u0027])"},{"line_number":4001,"context_line":"        if snapshot_instance[\u0027status\u0027] \u003d\u003d ("},{"line_number":4002,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING) and not force:"},{"line_number":4003,"context_line":"            return"}],"source_content_type":"text/x-python","patch_set":7,"id":"42063945_e3c0367c","line":4000,"range":{"start_line":3998,"start_character":0,"end_line":4000,"end_character":49},"in_reply_to":"f92168f6_5f92f1d5","updated":"2024-07-19 11:31:29.000000000","message":"this is single use as compared to share deletion, so we should be ok.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4434995b48811697869258f036caa7ca39732531","unresolved":true,"context_lines":[{"line_number":3529,"context_line":"            self._get_share_details_from_instance(context, share_instance_id))"},{"line_number":3530,"context_line":"        self._notify_about_share_usage(context, share,"},{"line_number":3531,"context_line":"                                       share_instance, \"delete.start\")"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                self.db.update_share_instance_quota_usages("}],"source_content_type":"text/x-python","patch_set":8,"id":"a10ce783_60054122","line":3532,"updated":"2024-08-15 04:38:31.000000000","message":"declare `error_state \u003d None`\n\n\nSee comment below","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a3bad59d9ac578463a13d81da73532fadf96ec0d","unresolved":false,"context_lines":[{"line_number":3529,"context_line":"            self._get_share_details_from_instance(context, share_instance_id))"},{"line_number":3530,"context_line":"        self._notify_about_share_usage(context, share,"},{"line_number":3531,"context_line":"                                       share_instance, \"delete.start\")"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                self.db.update_share_instance_quota_usages("}],"source_content_type":"text/x-python","patch_set":8,"id":"cd2e02b4_6ad33c6d","line":3532,"in_reply_to":"a10ce783_60054122","updated":"2024-08-19 11:53:00.000000000","message":"Done","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4434995b48811697869258f036caa7ca39732531","unresolved":true,"context_lines":[{"line_number":3541,"context_line":"                )"},{"line_number":3542,"context_line":"            except Exception:"},{"line_number":3543,"context_line":"                LOG.warning("},{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("}],"source_content_type":"text/x-python","patch_set":8,"id":"90a0b9c8_b29016e8","line":3544,"range":{"start_line":3544,"start_character":27,"end_line":3544,"end_character":34},"updated":"2024-08-15 04:38:31.000000000","message":"occurred","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a3bad59d9ac578463a13d81da73532fadf96ec0d","unresolved":false,"context_lines":[{"line_number":3541,"context_line":"                )"},{"line_number":3542,"context_line":"            except Exception:"},{"line_number":3543,"context_line":"                LOG.warning("},{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("}],"source_content_type":"text/x-python","patch_set":8,"id":"a74a9dac_779ea717","line":3544,"range":{"start_line":3544,"start_character":27,"end_line":3544,"end_character":34},"in_reply_to":"90a0b9c8_b29016e8","updated":"2024-08-19 11:53:00.000000000","message":"Done","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4434995b48811697869258f036caa7ca39732531","unresolved":true,"context_lines":[{"line_number":3530,"context_line":"        self._notify_about_share_usage(context, share,"},{"line_number":3531,"context_line":"                                       share_instance, \"delete.start\")"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                self.db.update_share_instance_quota_usages("},{"line_number":3536,"context_line":"                    context, share_instance_id)"},{"line_number":3537,"context_line":"                LOG.info("},{"line_number":3538,"context_line":"                    \"Share instance %s had its deletion deferred. Quota was \""},{"line_number":3539,"context_line":"                    \"reclaimed and the share driver will proceed with the \""},{"line_number":3540,"context_line":"                    \"deletion.\", share_instance_id"},{"line_number":3541,"context_line":"                )"},{"line_number":3542,"context_line":"            except Exception:"},{"line_number":3543,"context_line":"                LOG.warning("},{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("},{"line_number":3548,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("}],"source_content_type":"text/x-python","patch_set":8,"id":"17f97ec1_1ceeef6b","line":3545,"range":{"start_line":3533,"start_character":8,"end_line":3545,"end_character":43},"updated":"2024-08-15 04:38:31.000000000","message":"i think its okay to attempt the deletion and then release the quota. The code seems pretty convoluted with this change; you are effectively:\n\n\n- If deferred deletion, delete quota\n- Attempt to cleanup access rules and delete share\n- If any failure, mark it as \"error_deferred_deleting\"\n- If deferred_deleting, don\u0027t delete quota\n\n\nCan you please clean this up?","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a3bad59d9ac578463a13d81da73532fadf96ec0d","unresolved":true,"context_lines":[{"line_number":3530,"context_line":"        self._notify_about_share_usage(context, share,"},{"line_number":3531,"context_line":"                                       share_instance, \"delete.start\")"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                self.db.update_share_instance_quota_usages("},{"line_number":3536,"context_line":"                    context, share_instance_id)"},{"line_number":3537,"context_line":"                LOG.info("},{"line_number":3538,"context_line":"                    \"Share instance %s had its deletion deferred. Quota was \""},{"line_number":3539,"context_line":"                    \"reclaimed and the share driver will proceed with the \""},{"line_number":3540,"context_line":"                    \"deletion.\", share_instance_id"},{"line_number":3541,"context_line":"                )"},{"line_number":3542,"context_line":"            except Exception:"},{"line_number":3543,"context_line":"                LOG.warning("},{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("},{"line_number":3548,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("}],"source_content_type":"text/x-python","patch_set":8,"id":"99b891c5_ce8f33c0","line":3545,"range":{"start_line":3533,"start_character":8,"end_line":3545,"end_character":43},"in_reply_to":"17f97ec1_1ceeef6b","updated":"2024-08-19 11:53:00.000000000","message":"yes, this is what we do, make sure quota is freed immediately and delete will be handled independently of end-user intervention. i think, we are mostly ok with delete as this code is less likely needs to modify in future.","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"eb5df09d8089576c0ab05f2404b9e42278577e20","unresolved":false,"context_lines":[{"line_number":3530,"context_line":"        self._notify_about_share_usage(context, share,"},{"line_number":3531,"context_line":"                                       share_instance, \"delete.start\")"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                self.db.update_share_instance_quota_usages("},{"line_number":3536,"context_line":"                    context, share_instance_id)"},{"line_number":3537,"context_line":"                LOG.info("},{"line_number":3538,"context_line":"                    \"Share instance %s had its deletion deferred. Quota was \""},{"line_number":3539,"context_line":"                    \"reclaimed and the share driver will proceed with the \""},{"line_number":3540,"context_line":"                    \"deletion.\", share_instance_id"},{"line_number":3541,"context_line":"                )"},{"line_number":3542,"context_line":"            except Exception:"},{"line_number":3543,"context_line":"                LOG.warning("},{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("},{"line_number":3548,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("}],"source_content_type":"text/x-python","patch_set":8,"id":"8bb31e0f_3ba50382","line":3545,"range":{"start_line":3533,"start_character":8,"end_line":3545,"end_character":43},"in_reply_to":"671e3e3a_2933cc7c","updated":"2024-08-30 05:46:40.000000000","message":"Acknowledged","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"171290066bad0e9f00a922e08f0cd1f4d89f2acd","unresolved":true,"context_lines":[{"line_number":3530,"context_line":"        self._notify_about_share_usage(context, share,"},{"line_number":3531,"context_line":"                                       share_instance, \"delete.start\")"},{"line_number":3532,"context_line":""},{"line_number":3533,"context_line":"        if deferred_delete:"},{"line_number":3534,"context_line":"            try:"},{"line_number":3535,"context_line":"                self.db.update_share_instance_quota_usages("},{"line_number":3536,"context_line":"                    context, share_instance_id)"},{"line_number":3537,"context_line":"                LOG.info("},{"line_number":3538,"context_line":"                    \"Share instance %s had its deletion deferred. Quota was \""},{"line_number":3539,"context_line":"                    \"reclaimed and the share driver will proceed with the \""},{"line_number":3540,"context_line":"                    \"deletion.\", share_instance_id"},{"line_number":3541,"context_line":"                )"},{"line_number":3542,"context_line":"            except Exception:"},{"line_number":3543,"context_line":"                LOG.warning("},{"line_number":3544,"context_line":"                    \"Error occured during quota usage update. Administrator \""},{"line_number":3545,"context_line":"                    \"must rectify quotas.\")"},{"line_number":3546,"context_line":""},{"line_number":3547,"context_line":"            snap_instances \u003d ("},{"line_number":3548,"context_line":"                self.db.share_snapshot_instance_get_all_with_filters("}],"source_content_type":"text/x-python","patch_set":8,"id":"671e3e3a_2933cc7c","line":3545,"range":{"start_line":3533,"start_character":8,"end_line":3545,"end_character":43},"in_reply_to":"99b891c5_ce8f33c0","updated":"2024-08-29 20:35:33.000000000","message":"You mean \"We\u0027ll not touch this often/again\" :D \nI don\u0027t think you can ever say that around OpenStack.","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4434995b48811697869258f036caa7ca39732531","unresolved":true,"context_lines":[{"line_number":3549,"context_line":"                    context, {\u0027share_instance_ids\u0027: share_instance_id}))"},{"line_number":3550,"context_line":"            if snap_instances:"},{"line_number":3551,"context_line":"                # special case"},{"line_number":3552,"context_line":"                # 1. snapshot deferred_deleted"},{"line_number":3553,"context_line":"                # 2. share deleted"},{"line_number":3554,"context_line":"                # 3. we just clean quota and then wait for periodic"},{"line_number":3555,"context_line":"                #    task to delete share"},{"line_number":3556,"context_line":"                self.db.share_instance_update("},{"line_number":3557,"context_line":"                    context,"},{"line_number":3558,"context_line":"                    share_instance_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"97a7cfac_378dd7f9","line":3555,"range":{"start_line":3552,"start_character":16,"end_line":3555,"end_character":41},"updated":"2024-08-15 04:38:31.000000000","message":"i think we need to rewrite this:\n\n\n```suggestion\n                # The share has some snapshot instances whose deletion\n                # was deferred. We relegate deletion of the share to\n                # a periodic task so it can be processed after\n                # all its snapshots are deleted. So we\u0027re deliberately\n                # setting the share instance\u0027s status to \"error_deferred_deleting\"\n```","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a3bad59d9ac578463a13d81da73532fadf96ec0d","unresolved":false,"context_lines":[{"line_number":3549,"context_line":"                    context, {\u0027share_instance_ids\u0027: share_instance_id}))"},{"line_number":3550,"context_line":"            if snap_instances:"},{"line_number":3551,"context_line":"                # special case"},{"line_number":3552,"context_line":"                # 1. snapshot deferred_deleted"},{"line_number":3553,"context_line":"                # 2. share deleted"},{"line_number":3554,"context_line":"                # 3. we just clean quota and then wait for periodic"},{"line_number":3555,"context_line":"                #    task to delete share"},{"line_number":3556,"context_line":"                self.db.share_instance_update("},{"line_number":3557,"context_line":"                    context,"},{"line_number":3558,"context_line":"                    share_instance_id,"}],"source_content_type":"text/x-python","patch_set":8,"id":"ec37a89e_681aad0b","line":3555,"range":{"start_line":3552,"start_character":16,"end_line":3555,"end_character":41},"in_reply_to":"97a7cfac_378dd7f9","updated":"2024-08-19 11:53:00.000000000","message":"Done","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"4434995b48811697869258f036caa7ca39732531","unresolved":true,"context_lines":[{"line_number":3594,"context_line":"                    resource_id\u003dshare_instance_id,"},{"line_number":3595,"context_line":"                    exception\u003dexcep)"},{"line_number":3596,"context_line":""},{"line_number":3597,"context_line":"        in_error_deferred_deleting_state \u003d False"},{"line_number":3598,"context_line":"        share_instance \u003d self._get_share_instance(context, share_instance_id)"},{"line_number":3599,"context_line":"        if share_instance[\u0027status\u0027] \u003d\u003d ("},{"line_number":3600,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":3601,"context_line":"            in_error_deferred_deleting_state \u003d True"},{"line_number":3602,"context_line":""},{"line_number":3603,"context_line":"        if in_error_deferred_deleting_state and not force:"},{"line_number":3604,"context_line":"            return"},{"line_number":3605,"context_line":""},{"line_number":3606,"context_line":"        try:"},{"line_number":3607,"context_line":"            self.driver.delete_share(context, share_instance,"}],"source_content_type":"text/x-python","patch_set":8,"id":"88c5e504_81717976","line":3604,"range":{"start_line":3597,"start_character":0,"end_line":3604,"end_character":18},"updated":"2024-08-15 04:38:31.000000000","message":"if error_state \u003d\u003d constants.STATUS_ERROR_DEFERRED_DELETING and not force:\n\n\nThis should suffice?","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"a3bad59d9ac578463a13d81da73532fadf96ec0d","unresolved":false,"context_lines":[{"line_number":3594,"context_line":"                    resource_id\u003dshare_instance_id,"},{"line_number":3595,"context_line":"                    exception\u003dexcep)"},{"line_number":3596,"context_line":""},{"line_number":3597,"context_line":"        in_error_deferred_deleting_state \u003d False"},{"line_number":3598,"context_line":"        share_instance \u003d self._get_share_instance(context, share_instance_id)"},{"line_number":3599,"context_line":"        if share_instance[\u0027status\u0027] \u003d\u003d ("},{"line_number":3600,"context_line":"                constants.STATUS_ERROR_DEFERRED_DELETING):"},{"line_number":3601,"context_line":"            in_error_deferred_deleting_state \u003d True"},{"line_number":3602,"context_line":""},{"line_number":3603,"context_line":"        if in_error_deferred_deleting_state and not force:"},{"line_number":3604,"context_line":"            return"},{"line_number":3605,"context_line":""},{"line_number":3606,"context_line":"        try:"},{"line_number":3607,"context_line":"            self.driver.delete_share(context, share_instance,"}],"source_content_type":"text/x-python","patch_set":8,"id":"f71e668f_9e6aab22","line":3604,"range":{"start_line":3597,"start_character":0,"end_line":3604,"end_character":18},"in_reply_to":"88c5e504_81717976","updated":"2024-08-19 11:53:00.000000000","message":"Done","commit_id":"7036a5d631aa7b14397f4989e4b3728740d805e7"}],"releasenotes/notes/bug-2068043-update-deferred-deletion-dc5ea4207e06bb64.yaml":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5af9d1506ca6dca9fb4c3171c2891af50414b97a","unresolved":true,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In deferred deletion, Manila will do regular deletion and resource is"},{"line_number":5,"context_line":"    hidden from end-user. Any error during deferred deletion, will put"},{"line_number":6,"context_line":"    resource in error_deferred_deleting state. After that, it will be handled"},{"line_number":7,"context_line":"    in periodic task. Also, Manila will make sure snapshot instances are"},{"line_number":8,"context_line":"    deleted before share instance delete. For more details, please check"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7d76a2df_83c5b62a","line":5,"range":{"start_line":5,"start_character":60,"end_line":5,"end_character":61},"updated":"2024-06-21 16:51:14.000000000","message":"please remove the comma","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"4cae491acdd6aec903e209a5512cfed99fa5af8a","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In deferred deletion, Manila will do regular deletion and resource is"},{"line_number":5,"context_line":"    hidden from end-user. Any error during deferred deletion, will put"},{"line_number":6,"context_line":"    resource in error_deferred_deleting state. After that, it will be handled"},{"line_number":7,"context_line":"    in periodic task. Also, Manila will make sure snapshot instances are"},{"line_number":8,"context_line":"    deleted before share instance delete. For more details, please check"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"9ee10bc3_d8aa5508","line":5,"range":{"start_line":5,"start_character":60,"end_line":5,"end_character":61},"in_reply_to":"7d76a2df_83c5b62a","updated":"2024-06-24 08:35:50.000000000","message":"Done","commit_id":"1ae65f88c1f2c62ae3b9e8307bbf377125423881"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In deferred deletion, Manila will do regular deletion and resource is"},{"line_number":5,"context_line":"    hidden from end-user. Any error during deferred deletion will put"},{"line_number":6,"context_line":"    resource in error_deferred_deleting state. After that, it will be handled"},{"line_number":7,"context_line":"    in periodic task. Also, Manila will make sure snapshot instances are"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"fa58e6fe_11bc5d67","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":24},"updated":"2024-07-18 22:22:45.000000000","message":"When deferred deletion is enabled","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In deferred deletion, Manila will do regular deletion and resource is"},{"line_number":5,"context_line":"    hidden from end-user. Any error during deferred deletion will put"},{"line_number":6,"context_line":"    resource in error_deferred_deleting state. After that, it will be handled"},{"line_number":7,"context_line":"    in periodic task. Also, Manila will make sure snapshot instances are"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"0dc17ebe_656eb4f6","line":4,"range":{"start_line":4,"start_character":38,"end_line":4,"end_character":40},"updated":"2024-07-18 22:22:45.000000000","message":"attempt","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In deferred deletion, Manila will do regular deletion and resource is"},{"line_number":5,"context_line":"    hidden from end-user. Any error during deferred deletion will put"},{"line_number":6,"context_line":"    resource in error_deferred_deleting state. After that, it will be handled"},{"line_number":7,"context_line":"    in periodic task. Also, Manila will make sure snapshot instances are"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"1b9b7193_87ce5113","line":4,"range":{"start_line":4,"start_character":38,"end_line":4,"end_character":40},"in_reply_to":"0dc17ebe_656eb4f6","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In deferred deletion, Manila will do regular deletion and resource is"},{"line_number":5,"context_line":"    hidden from end-user. Any error during deferred deletion will put"},{"line_number":6,"context_line":"    resource in error_deferred_deleting state. After that, it will be handled"},{"line_number":7,"context_line":"    in periodic task. Also, Manila will make sure snapshot instances are"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"4eb3414a_75911237","line":4,"range":{"start_line":4,"start_character":4,"end_line":4,"end_character":24},"in_reply_to":"fa58e6fe_11bc5d67","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":16643,"name":"Goutham Pacha Ravi","email":"gouthampravi@gmail.com","username":"gouthamr"},"change_message_id":"60f49a73bf1f3c3282c920939c72df858b26a45f","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In deferred deletion, Manila will do regular deletion and resource is"},{"line_number":5,"context_line":"    hidden from end-user. Any error during deferred deletion will put"},{"line_number":6,"context_line":"    resource in error_deferred_deleting state. After that, it will be handled"},{"line_number":7,"context_line":"    in periodic task. Also, Manila will make sure snapshot instances are"},{"line_number":8,"context_line":"    deleted before share instance delete. For more details, please check"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"2d20688c_1dbb7a2c","line":5,"range":{"start_line":4,"start_character":58,"end_line":5,"end_character":24},"updated":"2024-07-18 22:22:45.000000000","message":"while quota is released, and these objects (shares, snapshots) are hidden from the user.","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"afaeb8a24b00b8d2cb1b5ba00ea33cb9b4c9435d","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    In deferred deletion, Manila will do regular deletion and resource is"},{"line_number":5,"context_line":"    hidden from end-user. Any error during deferred deletion will put"},{"line_number":6,"context_line":"    resource in error_deferred_deleting state. After that, it will be handled"},{"line_number":7,"context_line":"    in periodic task. Also, Manila will make sure snapshot instances are"},{"line_number":8,"context_line":"    deleted before share instance delete. For more details, please check"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"591ee9c9_de71468b","line":5,"range":{"start_line":4,"start_character":58,"end_line":5,"end_character":24},"in_reply_to":"2d20688c_1dbb7a2c","updated":"2024-07-19 11:31:29.000000000","message":"Done","commit_id":"10b885a093572a9a4a26d13bdecc6a9cbac38c14"}]}
