)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"b60a70522b0beaa2fd85da18914720c8e61c5e2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"e2b9e678_b3399a6a","updated":"2025-12-19 17:30:53.000000000","message":"Some pre-zuul result comments/questions.","commit_id":"f0f274d53a18b17957c55971b4dc47d0398fb7f9"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"88fd492d206b2b6caa6add18952487a38c8f2079","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"6b1c6cc9_22ec812b","updated":"2025-12-19 23:15:04.000000000","message":"Works for me","commit_id":"ef78d8e978800b207952799fc27ea253aaa522af"},{"author":{"_account_id":8313,"name":"Lajos Katona","display_name":"lajoskatona","email":"katonalala@gmail.com","username":"elajkat","status":"Ericsson Software Technology"},"change_message_id":"b7fd2ad29982d6e133213cd92a0b0e8d98c7ae36","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"1745f83d_1483a6d5","updated":"2026-01-05 12:16:44.000000000","message":"thanks, much more readable","commit_id":"ef78d8e978800b207952799fc27ea253aaa522af"}],"neutron/services/bgp/commands.py":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"b60a70522b0beaa2fd85da18914720c8e61c5e2c","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def _run_idl_command(cmd, txn):"},{"line_number":31,"context_line":"    cmd.run_idl(txn)"},{"line_number":32,"context_line":"    return cmd.row_result"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class _LrAddCommand(nb_cmd.LrAddCommand):"}],"source_content_type":"text/x-python","patch_set":1,"id":"81f52b7b_0aa6368a","line":32,"updated":"2025-12-19 17:30:53.000000000","message":"Maybe a note somewhere explaining that in the case of an existing row or after AddCommand.post_commit() is called, this is a real DB row that is actually stored in the api.tables as well, but in the case of a newly-created row, this is only a temporary InsertedRow that should absolutely never be accessed outside of run_idl() code run in the same txn.","commit_id":"f0f274d53a18b17957c55971b4dc47d0398fb7f9"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"4dc9852503a37587dd7e08522fada278dde2b118","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"def _run_idl_command(cmd, txn):"},{"line_number":31,"context_line":"    cmd.run_idl(txn)"},{"line_number":32,"context_line":"    return cmd.row_result"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"class _LrAddCommand(nb_cmd.LrAddCommand):"}],"source_content_type":"text/x-python","patch_set":1,"id":"ea1244a7_50cc824b","line":32,"in_reply_to":"81f52b7b_0aa6368a","updated":"2025-12-19 17:33:08.000000000","message":"Done","commit_id":"f0f274d53a18b17957c55971b4dc47d0398fb7f9"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"b60a70522b0beaa2fd85da18914720c8e61c5e2c","unresolved":true,"context_lines":[{"line_number":69,"context_line":"        except idlutils.RowNotFound:"},{"line_number":70,"context_line":"            super().run_idl(txn)"},{"line_number":71,"context_line":"            self.row_result \u003d self.api.lookup(\u0027Logical_Router_Port\u0027, self.port)"},{"line_number":72,"context_line":"        else:"},{"line_number":73,"context_line":"            # TODO(jlibosva): Make sure the mac is unique for this router"},{"line_number":74,"context_line":"            self.row_result.mac \u003d self.mac"},{"line_number":75,"context_line":"            self.row_result.networks \u003d self.networks"}],"source_content_type":"text/x-python","patch_set":1,"id":"769e27c2_b8993f5b","line":72,"updated":"2025-12-19 17:30:53.000000000","message":"What\u0027s the benefit of using a try/else as opposed to just handling all of this in the try block similar to _LrAddCommand?","commit_id":"f0f274d53a18b17957c55971b4dc47d0398fb7f9"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"1a616c6c34b5e554a89d06e518675d605d0296da","unresolved":true,"context_lines":[{"line_number":69,"context_line":"        except idlutils.RowNotFound:"},{"line_number":70,"context_line":"            super().run_idl(txn)"},{"line_number":71,"context_line":"            self.row_result \u003d self.api.lookup(\u0027Logical_Router_Port\u0027, self.port)"},{"line_number":72,"context_line":"        else:"},{"line_number":73,"context_line":"            # TODO(jlibosva): Make sure the mac is unique for this router"},{"line_number":74,"context_line":"            self.row_result.mac \u003d self.mac"},{"line_number":75,"context_line":"            self.row_result.networks \u003d self.networks"}],"source_content_type":"text/x-python","patch_set":1,"id":"9dd05fd9_b9478804","line":72,"in_reply_to":"173eb68c_f09e598d","updated":"2025-12-19 18:02:13.000000000","message":"Ok, just wondering if there was a difference between this and the other usages since the others left set_columns() in the try block and all usages including this one had set_columns() as the only method that was called (which cannot raise RowNotFound).","commit_id":"f0f274d53a18b17957c55971b4dc47d0398fb7f9"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"4dc9852503a37587dd7e08522fada278dde2b118","unresolved":true,"context_lines":[{"line_number":69,"context_line":"        except idlutils.RowNotFound:"},{"line_number":70,"context_line":"            super().run_idl(txn)"},{"line_number":71,"context_line":"            self.row_result \u003d self.api.lookup(\u0027Logical_Router_Port\u0027, self.port)"},{"line_number":72,"context_line":"        else:"},{"line_number":73,"context_line":"            # TODO(jlibosva): Make sure the mac is unique for this router"},{"line_number":74,"context_line":"            self.row_result.mac \u003d self.mac"},{"line_number":75,"context_line":"            self.row_result.networks \u003d self.networks"}],"source_content_type":"text/x-python","patch_set":1,"id":"173eb68c_f09e598d","line":72,"in_reply_to":"769e27c2_b8993f5b","updated":"2025-12-19 17:33:08.000000000","message":"In general to limit the scope of where we\u0027re catching the exception from - in our case only the lookup, so if (only in theory or if there was a bug) set_columns() raised RowNotFound - we do not want to swallow it.","commit_id":"f0f274d53a18b17957c55971b4dc47d0398fb7f9"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"88fd492d206b2b6caa6add18952487a38c8f2079","unresolved":false,"context_lines":[{"line_number":69,"context_line":"        except idlutils.RowNotFound:"},{"line_number":70,"context_line":"            super().run_idl(txn)"},{"line_number":71,"context_line":"            self.row_result \u003d self.api.lookup(\u0027Logical_Router_Port\u0027, self.port)"},{"line_number":72,"context_line":"        else:"},{"line_number":73,"context_line":"            # TODO(jlibosva): Make sure the mac is unique for this router"},{"line_number":74,"context_line":"            self.row_result.mac \u003d self.mac"},{"line_number":75,"context_line":"            self.row_result.networks \u003d self.networks"}],"source_content_type":"text/x-python","patch_set":1,"id":"1a5d2016_827b567a","line":72,"in_reply_to":"9dd05fd9_b9478804","updated":"2025-12-19 23:15:04.000000000","message":"Done","commit_id":"f0f274d53a18b17957c55971b4dc47d0398fb7f9"}]}
