)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"8add08e83f818b9eaf4ca26c390c2cd67f4797d6","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"ad73a6d5_ae898d90","updated":"2026-06-17 15:58:49.000000000","message":"LGTM","commit_id":"4247ead6f9d3f1a16a1d423892bfc991c177ab63"},{"author":{"_account_id":38081,"name":"Anthony Galica","display_name":"agalica","email":"anthony.galica@hitachivantara.com","username":"agalica","status":"Hitachi Vantara"},"change_message_id":"4b5dbc0099541313d0a801d8a0ecc2c4a3442732","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e1a2fafc_47d6ee49","updated":"2026-08-06 00:36:30.000000000","message":"We already have a patch for this:\n```https://review.opendev.org/c/openstack/cinder/+/999439```\n\nIf you\u0027d prefer to use yours, we can rescind it.  We also fixed the greenthread.time() issues there.","commit_id":"4247ead6f9d3f1a16a1d423892bfc991c177ab63"},{"author":{"_account_id":38059,"name":"Anoop Kumar Shukla","display_name":"Anoop Shukla","email":"anoop.shukla@netapp.com","username":"anoop2","status":"NetApp"},"change_message_id":"ef8b769bb0832573147c964ac1351a839327aa20","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"370ad5f6_7b1c4354","updated":"2026-06-17 12:24:45.000000000","message":"run-NetApp CI","commit_id":"4247ead6f9d3f1a16a1d423892bfc991c177ab63"},{"author":{"_account_id":34860,"name":"Amit Uniyal","email":"auniyal@redhat.com","username":"auniyal"},"change_message_id":"ec19b33f9fcc9a2fce4e19aba785cee7c765f0c7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"dda38bd3_6fc924aa","updated":"2026-06-19 08:45:14.000000000","message":"with this (including previous in relation chain), all eventlet use is removed from drvires and related tests.\n\ngate is passing. lgtm.","commit_id":"4247ead6f9d3f1a16a1d423892bfc991c177ab63"}],"cinder/volume/drivers/hitachi/hbsd_replication.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"ad8904a61dfc613f04cdd11f0cfbacbaaf86e7c7","unresolved":true,"context_lines":[{"line_number":686,"context_line":"                self.rep_primary.modify_ldev_name("},{"line_number":687,"context_line":"                    pvol, volume[\u0027id\u0027].replace(\"-\", \"\"))"},{"line_number":688,"context_line":"            finally:"},{"line_number":689,"context_line":"                future.result()"},{"line_number":690,"context_line":"        return pvol, svol"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"    def _create_rep_copy_group_name(self, ldev):"}],"source_content_type":"text/x-python","patch_set":1,"id":"37c3ca4e_420e16f5","line":689,"updated":"2026-06-22 16:47:11.000000000","message":"primary exception will be propagated to future.result() also. This need to be in try block?","commit_id":"4247ead6f9d3f1a16a1d423892bfc991c177ab63"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"164193281183b899f7d781fe12467fb7826e9392","unresolved":true,"context_lines":[{"line_number":686,"context_line":"                self.rep_primary.modify_ldev_name("},{"line_number":687,"context_line":"                    pvol, volume[\u0027id\u0027].replace(\"-\", \"\"))"},{"line_number":688,"context_line":"            finally:"},{"line_number":689,"context_line":"                future.result()"},{"line_number":690,"context_line":"        return pvol, svol"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"    def _create_rep_copy_group_name(self, ldev):"}],"source_content_type":"text/x-python","patch_set":1,"id":"b90ffb8d_ab4bbb8c","line":689,"in_reply_to":"0f75d0a8_f66fe4ad","updated":"2026-07-17 16:27:12.000000000","message":"Isn\u0027t this the same semantics as the previous thread.wait() call?","commit_id":"4247ead6f9d3f1a16a1d423892bfc991c177ab63"},{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"4825d41dc0dfde6d04c532080cb930622b3091f9","unresolved":true,"context_lines":[{"line_number":686,"context_line":"                self.rep_primary.modify_ldev_name("},{"line_number":687,"context_line":"                    pvol, volume[\u0027id\u0027].replace(\"-\", \"\"))"},{"line_number":688,"context_line":"            finally:"},{"line_number":689,"context_line":"                future.result()"},{"line_number":690,"context_line":"        return pvol, svol"},{"line_number":691,"context_line":""},{"line_number":692,"context_line":"    def _create_rep_copy_group_name(self, ldev):"}],"source_content_type":"text/x-python","patch_set":1,"id":"0f75d0a8_f66fe4ad","line":689,"in_reply_to":"37c3ca4e_420e16f5","updated":"2026-06-22 17:01:18.000000000","message":"https://docs.python.org/3/library/concurrent.futures.html. future.result() itself can raise the secondary exception, and if called unguarded inside finally","commit_id":"4247ead6f9d3f1a16a1d423892bfc991c177ab63"}]}
