)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11290,"name":"Gaudenz Steinlin","email":"gaudenz.steinlin@cloudscale.ch","username":"gaudenz"},"change_message_id":"85169833d6c81942eaed3a5fa71cc187f74dc179","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"40821ff9_3395efef","updated":"2023-03-26 20:44:31.000000000","message":"I independently also discovered this bug while concurrently updating healthmonitors. The fix looks correct and covers more cases than the one I have. I also wrote a functional test for the loadbalancer locking. You might want to add this to your patch:\n```\n    def test_test_and_set_provisioning_status_concurrent(self):\n        lb_id \u003d uuidutils.generate_uuid()\n        lock_session1 \u003d db_api.get_session(autocommit\u003dFalse)\n        self.lb_repo.create(lock_session1, id\u003dlb_id,\n                            provisioning_status\u003dconstants.ACTIVE,\n                            operating_status\u003dconstants.ONLINE,\n                            enabled\u003dTrue)\n\n        # Create a concurrent session\n        lock_session2 \u003d db_api.get_session(autocommit\u003dFalse)\n\n        # Load LB into lock_session2\u0027s identity map\n        lb2 \u003d lock_session2.query(db_models.LoadBalancer).filter_by(\n            id\u003dlb_id).one()\n\n        # Update provisioning status in lock_session1\n        self.lb_repo.test_and_set_provisioning_status(\n            self.session, lb_id, constants.PENDING_UPDATE)\n        lock_session1.commit()\n\n        # Assert concurrent updates are rejected\n        self.assertFalse(self.lb_repo.test_and_set_provisioning_status(\n            lock_session2, lb_id, constants.PENDING_UPDATE))\n\n```","commit_id":"dfd315ada8e80cbff3a9c1952a94e79da8c5f8e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"44a3d229c031850be7b112a0e23a1fa12d28528f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c1a76969_81a7606b","updated":"2023-03-14 21:11:01.000000000","message":"LGTM","commit_id":"dfd315ada8e80cbff3a9c1952a94e79da8c5f8e1"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"f235e1d9a5ca72e66dfe9456099827258bdddaa4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"a69aedff_e1008330","updated":"2023-03-15 08:58:41.000000000","message":"Thank you for the quick fix!\n\nI think, that this patch is a good candidate for backporting.","commit_id":"dfd315ada8e80cbff3a9c1952a94e79da8c5f8e1"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"48d8aa7500bf3e00bf8aa2c86bf762d6edf46556","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"39fca3b9_96f0b5a1","in_reply_to":"40821ff9_3395efef","updated":"2023-03-27 06:54:10.000000000","message":"Thanks for the test function, I added it to the patch","commit_id":"dfd315ada8e80cbff3a9c1952a94e79da8c5f8e1"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"0818bd0dd65d5163649a7b1caa5353e4d1e781d3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"bfe81e02_b5b76d7d","updated":"2023-03-29 13:51:13.000000000","message":"LGTM","commit_id":"2e4ee9c65e0fba660b0316f1f4203810bb8a67c0"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"e7e795be13a95867309be3f1d773a60f3c51af50","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7091e2df_c8ae4a9d","updated":"2023-03-29 17:22:17.000000000","message":"recheck E: Some index files failed to download. They have been ignored, or old ones used instead","commit_id":"2e4ee9c65e0fba660b0316f1f4203810bb8a67c0"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"10546b459ff98baba8906fbf5d2d506a40420fb9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"c5d782de_aa4391ce","updated":"2023-03-28 07:45:04.000000000","message":"recheck grenade is fixed","commit_id":"2e4ee9c65e0fba660b0316f1f4203810bb8a67c0"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"5e6b57eb3a399a5c63ede94c4ece5567b1764330","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"d258511b_b3578a43","updated":"2023-03-28 11:40:44.000000000","message":"recheck timeout in scenario job","commit_id":"2e4ee9c65e0fba660b0316f1f4203810bb8a67c0"}]}
