)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"948ba6a29f8bf79d070c939f6de3e246b71c8e1d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"0b7841db_1eec92c1","updated":"2022-03-21 23:28:47.000000000","message":"I think this might still have a problem with stepping on the existing ConditionState. When this is called by neutron in my local tests, neutron hangs.","commit_id":"20e209a9c68a2d7a527eb7da1e6d604d09fb6a60"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"af02ba558508b3305077c24761fa849f4b4b2223","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"2f4d099e_fdf72197","updated":"2022-03-22 16:07:53.000000000","message":"One comment","commit_id":"128db494b7f069ce6d422df3e62832b3f3c89c49"}],"ovsdbapp/backend/ovs_idl/connection.py":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6a5462d319a5a47f3af381786e55f885cea0d566","unresolved":true,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        schema \u003d schema_helper.get_idl_schema()"},{"line_number":214,"context_line":"        self._db \u003d schema"},{"line_number":215,"context_line":"        removed \u003d self.tables.keys() - schema.tables.keys()"},{"line_number":216,"context_line":"        added \u003d schema.tables.keys() - self.tables.keys()"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        # stop monitoring removed tables"}],"source_content_type":"text/x-python","patch_set":4,"id":"86fc8421_87f1c47b","line":215,"updated":"2022-03-22 15:00:51.000000000","message":"Just asking: if I\u0027m not wrong, this is fixing the existing behaviour (that was not working).\n\nIs L232-235 what is (also) needed to fix this patch.","commit_id":"128db494b7f069ce6d422df3e62832b3f3c89c49"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"31445ba9e6861d3deadba5c66b0fd1ff2141f780","unresolved":false,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        schema \u003d schema_helper.get_idl_schema()"},{"line_number":214,"context_line":"        self._db \u003d schema"},{"line_number":215,"context_line":"        removed \u003d self.tables.keys() - schema.tables.keys()"},{"line_number":216,"context_line":"        added \u003d schema.tables.keys() - self.tables.keys()"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        # stop monitoring removed tables"}],"source_content_type":"text/x-python","patch_set":4,"id":"d9728982_8ce7c597","line":215,"in_reply_to":"49ec0e44_abe3e7a5","updated":"2022-03-22 19:04:01.000000000","message":"Done","commit_id":"128db494b7f069ce6d422df3e62832b3f3c89c49"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"10cbdbc07b77f5531c54e74f2097760927bddb6f","unresolved":true,"context_lines":[{"line_number":212,"context_line":""},{"line_number":213,"context_line":"        schema \u003d schema_helper.get_idl_schema()"},{"line_number":214,"context_line":"        self._db \u003d schema"},{"line_number":215,"context_line":"        removed \u003d self.tables.keys() - schema.tables.keys()"},{"line_number":216,"context_line":"        added \u003d schema.tables.keys() - self.tables.keys()"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"        # stop monitoring removed tables"}],"source_content_type":"text/x-python","patch_set":4,"id":"49ec0e44_abe3e7a5","line":215,"in_reply_to":"86fc8421_87f1c47b","updated":"2022-03-22 15:44:20.000000000","message":"Both are required to fix. With just lines 232-234 I noticed that Neutron would hang at start and not answer API requests. I *think* this is because the newer OVS ConditionState tracks condition change state and just overwriting it can break that state machine. I haven\u0027t tracked down exactly why that is happening, just that it specifically happened when modifying existing table entries in this code.\n\nI think we should also modify the neutron code that calls update_tables to not do so in the case that the specified tables are already in our schema. But it seems like protecting against that here as well makes sense.","commit_id":"128db494b7f069ce6d422df3e62832b3f3c89c49"},{"author":{"_account_id":8655,"name":"Jakub Libosvar","email":"libosvar@redhat.com","username":"jlibosva"},"change_message_id":"af02ba558508b3305077c24761fa849f4b4b2223","unresolved":true,"context_lines":[{"line_number":232,"context_line":"            try:"},{"line_number":233,"context_line":"                table.condition \u003d idl.ConditionState()"},{"line_number":234,"context_line":"            except AttributeError:"},{"line_number":235,"context_line":"                table.condition \u003d [True]"},{"line_number":236,"context_line":"            table.cond_changed \u003d False"}],"source_content_type":"text/x-python","patch_set":4,"id":"12e075ad_cc02c260","line":235,"updated":"2022-03-22 16:07:53.000000000","message":"I think it would be good to get this unittested","commit_id":"128db494b7f069ce6d422df3e62832b3f3c89c49"},{"author":{"_account_id":5756,"name":"Terry Wilson","email":"twilson@redhat.com","username":"otherwiseguy"},"change_message_id":"31445ba9e6861d3deadba5c66b0fd1ff2141f780","unresolved":false,"context_lines":[{"line_number":232,"context_line":"            try:"},{"line_number":233,"context_line":"                table.condition \u003d idl.ConditionState()"},{"line_number":234,"context_line":"            except AttributeError:"},{"line_number":235,"context_line":"                table.condition \u003d [True]"},{"line_number":236,"context_line":"            table.cond_changed \u003d False"}],"source_content_type":"text/x-python","patch_set":4,"id":"e0666f20_95032b69","line":235,"in_reply_to":"12e075ad_cc02c260","updated":"2022-03-22 19:04:01.000000000","message":"I modified the existing functional test so that it verifies that the Idl is still functional after updating the tables, and verified that it fails before the patch exactly as the bug report showed and it passes with this patch.\n\nAs discussed on IRC, I couldn\u0027t really think of a unit test that would be more useful than just verifying that the code actually works with the functional test. I admit that my bias against them when dealing with python-ovs code might make me bad at coming up with useful tests, though.","commit_id":"128db494b7f069ce6d422df3e62832b3f3c89c49"}]}
