)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"16a361c302dd15b645c064a0b463d0bf51f9ac34","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"48fec69a_cc1ce13d","updated":"2022-01-09 08:21:49.000000000","message":"recheck getting more test data","commit_id":"6a17d05b82f3e4c3120166310e2c32027da67a12"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"88e6486396c790c7fb5e2a6f99854fe84b9b587b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"23b876e0_06d0485a","updated":"2022-01-21 03:17:17.000000000","message":"This fixes the last known CI race condition.","commit_id":"75dfe6707aaf0360736a89dd566d3104e81a4a7d"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7a1571caf854b68d5c478ed3937ae71e5f55451f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"201552a0_d8c1ed1a","updated":"2022-01-26 00:34:41.000000000","message":"-1 to have a discussion about the removal of the transaction decorator.","commit_id":"c9a7f3392c87dedf5603e59b6821e74d297efe13"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"7867c1c2c8cf784a42bd64b7cc5a741aa70a9c29","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"b4a23c61_a5767250","updated":"2022-01-27 09:20:02.000000000","message":"Can we split the change in transaction handling into a separate patch? It seems to me the other changes are uncontroversial and helpful on their own, so we could get those merged and then continue with looking at transactions?","commit_id":"0c7d218ba103e8260322e40f76a49a8c92556bfe"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"465fc4c160b17643ae450725a4df649b8c7c1f48","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"9a44aac5_56ba2c93","updated":"2022-01-28 23:19:59.000000000","message":"LGTM\nI think I am ok with this latest approach to push the transactions a little lower.","commit_id":"0c7d218ba103e8260322e40f76a49a8c92556bfe"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"823b7a6e59b25c9f26d014a7a95cb24bb98a17b9","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":12,"id":"58c2dea7_dbdca46d","in_reply_to":"b4a23c61_a5767250","updated":"2022-01-27 17:48:26.000000000","message":"Yea - maybe, but would also need to remove the unit test as the transaction breaks the test.","commit_id":"0c7d218ba103e8260322e40f76a49a8c92556bfe"}],"designate/central/service.py":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"7a1571caf854b68d5c478ed3937ae71e5f55451f","unresolved":true,"context_lines":[{"line_number":2421,"context_line":"        return recordset"},{"line_number":2422,"context_line":""},{"line_number":2423,"context_line":"    @rpc.expected_exceptions()"},{"line_number":2424,"context_line":"    @transaction"},{"line_number":2425,"context_line":"    def update_floatingip(self, context, region, floatingip_id, values):"},{"line_number":2426,"context_line":"        \"\"\""},{"line_number":2427,"context_line":"        We strictly see if values[\u0027ptrdname\u0027] is str or None and set / unset"}],"source_content_type":"text/x-python","patch_set":6,"id":"7d33bbdd_87a57f3d","side":"PARENT","line":2424,"updated":"2022-01-26 00:34:41.000000000","message":"This concerns me because as I trace this code path down, there is a query-\u003ecreate-\u003eupdate chain (among others) here using sqlalchemy. If we take this outside of a transaction, the state may not be consistent at the zone create stage.\nCan you tell me more about the error handling that broke?","commit_id":"93bab684f41660195591fb3652d56be88e91975e"},{"author":{"_account_id":22623,"name":"Erik Olof Gunnar Andersson","email":"eandersson@blizzard.com","username":"eoandersson"},"change_message_id":"03d4773c46601ae59210a93afc97de99c3acbb2e","unresolved":false,"context_lines":[{"line_number":2421,"context_line":"        return recordset"},{"line_number":2422,"context_line":""},{"line_number":2423,"context_line":"    @rpc.expected_exceptions()"},{"line_number":2424,"context_line":"    @transaction"},{"line_number":2425,"context_line":"    def update_floatingip(self, context, region, floatingip_id, values):"},{"line_number":2426,"context_line":"        \"\"\""},{"line_number":2427,"context_line":"        We strictly see if values[\u0027ptrdname\u0027] is str or None and set / unset"}],"source_content_type":"text/x-python","patch_set":6,"id":"7bd32172_3388ce58","side":"PARENT","line":2424,"in_reply_to":"7d33bbdd_87a57f3d","updated":"2022-01-26 04:56:20.000000000","message":"The issue was that the transaction would cause a rollback when the zone was created that would cause the call to get interrupted at that stage since the rollback would ultimately fail (most likely because another call had just created the same zone). We don\u0027t actually need to rollback the zone since it\u0027s an admin zone and the worst case scenario we will end up with an empty zone.\n\nupdate -\u003e create could indeed use the transactions as in theory the api call could fail to populate and the record would still exist without the transaction. I moved the transaction further down the stack and this should fix the issue with the zone race conditions, while still keeping the important part the transaction helped to protect against.","commit_id":"93bab684f41660195591fb3652d56be88e91975e"}]}
