)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":18816,"name":"Maurice Escher","display_name":"carthaca","email":"maurice.escher@sap.com","username":"mapocace"},"change_message_id":"597857311a514b0dd402b99cdea572fe18ec5eb0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e5b212b4_81077e11","updated":"2026-05-21 08:24:02.000000000","message":"Patch from our fork looks well applied to upstream/master.\nI will not give +2, because I co-authored.\n\nProbably we should upstream the \u0027undelete\u0027 feature, too? Because otherwise this change here is presented a bit out of context.","commit_id":"5bb8db605359f9864094320cf8e183487edd7726"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"65a98b2823cb0493bff03b3fdab10db8a31f63cb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"f9ac6d8e_6402126f","in_reply_to":"e5b212b4_81077e11","updated":"2026-05-21 11:12:40.000000000","message":"ok, upstream support soft-delete and restore feature. We can introduce our downstream extension as \u0027undelete\u0027 share. This will be applicable to certain backends which dont delete the share immediately and keep it in recovery queue e.g. NetApp. \n\nOnce share is deleted from manila, if retention hours have non-zero value the share will go in recovery queue. The undelete share command will read deleted entry from manila db, validate other fields like share network, share server etc. and if all are still valid, pass share instance info to backend driver to check if it still exist in recovery queue, If exist, backend will remove share/volume out of recovery queue and make that share alive in manila again. \n\nHowever this patch stands on its own because the guard is correct regardless — deleted_at alone is not a reliable indicator that a record is permanently gone.","commit_id":"5bb8db605359f9864094320cf8e183487edd7726"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"4081472afed98af5e97a3b1b8996f7706a88f8f0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f99e15b7_edd9e5d6","updated":"2026-07-17 13:07:47.000000000","message":"Changing the vote considering the discussion in the other change we reviewed. Please add a release note for this change.","commit_id":"aaddf73eb040919cec92bd1e9883dfb8b0b59cd9"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"2f4482f7b7e38089b48eeda37ae241f7a315720b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"58e3eb24_f35f1baf","updated":"2026-07-16 19:07:59.000000000","message":"LGTM, thank you for the fix, Kiran and Maurice!","commit_id":"aaddf73eb040919cec92bd1e9883dfb8b0b59cd9"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"abe37e2866d09e493f39d161966aa633d7162194","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"cf3b5a11_f42e6bb6","in_reply_to":"f99e15b7_edd9e5d6","updated":"2026-07-17 13:19:06.000000000","message":"ok ,added","commit_id":"aaddf73eb040919cec92bd1e9883dfb8b0b59cd9"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"daa50898c340c9f22d55ae33697a80f12ec31c6f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"e934ce04_877a2e20","updated":"2026-07-23 13:56:24.000000000","message":"LGTM","commit_id":"a8bd6036d05896319d71f86460fafce878af3326"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5f8fb5cbc8008827abd59427995b54b195cca21f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"ee9166ce_099046ea","updated":"2026-07-17 17:01:58.000000000","message":"LGTM, thank you Kiran","commit_id":"a8bd6036d05896319d71f86460fafce878af3326"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"e640dce6cb1e2fcb34405209f5713e7f51a123e3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"9ef151d6_f099aaca","updated":"2026-07-21 12:05:50.000000000","message":"recheck","commit_id":"a8bd6036d05896319d71f86460fafce878af3326"}],"releasenotes/notes/bug-2081827-fix-db-purge-stale-deleted-at-dcf480cb6044514c.yaml":[{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"bab39a1f901a58d6e05eff9b1a17d6274c68c0be","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":"    Fixed the database purge operation incorrectly deleting records that were"},{"line_number":5,"context_line":"    un-deleted (i.e., ``deleted`` column reset to ``False``/``0``) but still"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"00e5ccd6_04f8d308","line":2,"updated":"2026-07-17 15:17:42.000000000","message":"same as in the other change... this is too much implementation data.","commit_id":"e39bde4d6eac4f179ed76a780124ae7f4faf9d04"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"b52799c60fb1c4edd04f0475f61862ccfbd4bce8","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":"    Fixed the database purge operation incorrectly deleting records that were"},{"line_number":5,"context_line":"    un-deleted (i.e., ``deleted`` column reset to ``False``/``0``) but still"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"41ba803e_66405488","line":2,"in_reply_to":"00e5ccd6_04f8d308","updated":"2026-07-17 15:35:12.000000000","message":"Done","commit_id":"e39bde4d6eac4f179ed76a780124ae7f4faf9d04"},{"author":{"_account_id":29632,"name":"Carlos Eduardo","email":"ces.eduardo98@gmail.com","username":"silvacarlos"},"change_message_id":"5f8fb5cbc8008827abd59427995b54b195cca21f","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":"    Fixed an issue where the database purge operation could incorrectly"},{"line_number":5,"context_line":"    delete records that had been restored after a soft-delete. For more"},{"line_number":6,"context_line":"    details, please check"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"14caa226_96d7f337","line":3,"updated":"2026-07-17 17:01:58.000000000","message":"looks perfect now, thank you!","commit_id":"a8bd6036d05896319d71f86460fafce878af3326"},{"author":{"_account_id":32919,"name":"kiran pawar","display_name":"Kiran Pawar","email":"kinpaa@gmail.com","username":"kpdev"},"change_message_id":"84bca290219fb8bb12a6ea9e9157ea5b313275be","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":"    Fixed an issue where the database purge operation could incorrectly"},{"line_number":5,"context_line":"    delete records that had been restored after a soft-delete. For more"},{"line_number":6,"context_line":"    details, please check"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"ac5b9072_5ae95b85","line":3,"in_reply_to":"14caa226_96d7f337","updated":"2026-07-23 13:59:32.000000000","message":"Acknowledged","commit_id":"a8bd6036d05896319d71f86460fafce878af3326"}]}
