)]}'
{"ironic/db/sqlalchemy/api.py":[{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"9ad71e84dac4c40e251b6d0eca60c449a13187be","unresolved":false,"context_lines":[{"line_number":1772,"context_line":"                query \u003d model_query(models.Allocation, session\u003dsession)"},{"line_number":1773,"context_line":"                query \u003d add_identity_filter(query, allocation_id)"},{"line_number":1774,"context_line":"                # NOTE(dtantsur): the FOR UPDATE clause locks the allocation"},{"line_number":1775,"context_line":"                ref \u003d query.with_for_update().one()"},{"line_number":1776,"context_line":"                if ref.conductor_affinity !\u003d old_conductor_id:"},{"line_number":1777,"context_line":"                    # Race detected, bailing out"},{"line_number":1778,"context_line":"                    return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_8afdfa6f","line":1775,"range":{"start_line":1775,"start_character":28,"end_line":1775,"end_character":43},"updated":"2019-02-20 06:43:53.000000000","message":"I wonder whether the lock will be released if race detected?","commit_id":"6885c674cbee3454e8cc89ce28af69b55d06d70c"},{"author":{"_account_id":18320,"name":"Dao Cong Tien","email":"tiendc@vn.fujitsu.com","username":"TienDC"},"change_message_id":"0361740dad6aa419dec0e34ae300ef43e2544fcd","unresolved":false,"context_lines":[{"line_number":1772,"context_line":"                query \u003d model_query(models.Allocation, session\u003dsession)"},{"line_number":1773,"context_line":"                query \u003d add_identity_filter(query, allocation_id)"},{"line_number":1774,"context_line":"                # NOTE(dtantsur): the FOR UPDATE clause locks the allocation"},{"line_number":1775,"context_line":"                ref \u003d query.with_for_update().one()"},{"line_number":1776,"context_line":"                if ref.conductor_affinity !\u003d old_conductor_id:"},{"line_number":1777,"context_line":"                    # Race detected, bailing out"},{"line_number":1778,"context_line":"                    return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_3d29b1f1","line":1775,"range":{"start_line":1775,"start_character":28,"end_line":1775,"end_character":43},"in_reply_to":"9fdfeff1_5925aa09","updated":"2019-02-20 12:37:21.000000000","message":"++","commit_id":"6885c674cbee3454e8cc89ce28af69b55d06d70c"},{"author":{"_account_id":24828,"name":"Kaifeng Wang","email":"kaifeng.w@gmail.com","username":"wangkf"},"change_message_id":"fda7a0bb8eaa8b6c403252a7a41bed03ed4b1d22","unresolved":false,"context_lines":[{"line_number":1772,"context_line":"                query \u003d model_query(models.Allocation, session\u003dsession)"},{"line_number":1773,"context_line":"                query \u003d add_identity_filter(query, allocation_id)"},{"line_number":1774,"context_line":"                # NOTE(dtantsur): the FOR UPDATE clause locks the allocation"},{"line_number":1775,"context_line":"                ref \u003d query.with_for_update().one()"},{"line_number":1776,"context_line":"                if ref.conductor_affinity !\u003d old_conductor_id:"},{"line_number":1777,"context_line":"                    # Race detected, bailing out"},{"line_number":1778,"context_line":"                    return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_90d19232","line":1775,"range":{"start_line":1775,"start_character":28,"end_line":1775,"end_character":43},"in_reply_to":"9fdfeff1_5925aa09","updated":"2019-02-21 07:34:41.000000000","message":"okay, I am raising because the doc says the lock will be released after commit or rollback, but there is no action if race happens. It\u0027s sad to say the official sqlalchemy website is blocked by firewall so I can really confirm.\n\nthere is a test covered this case, so I guess you are right.","commit_id":"6885c674cbee3454e8cc89ce28af69b55d06d70c"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"e77095dd5995bd460b1ed83735e7a03d4d1f7012","unresolved":false,"context_lines":[{"line_number":1772,"context_line":"                query \u003d model_query(models.Allocation, session\u003dsession)"},{"line_number":1773,"context_line":"                query \u003d add_identity_filter(query, allocation_id)"},{"line_number":1774,"context_line":"                # NOTE(dtantsur): the FOR UPDATE clause locks the allocation"},{"line_number":1775,"context_line":"                ref \u003d query.with_for_update().one()"},{"line_number":1776,"context_line":"                if ref.conductor_affinity !\u003d old_conductor_id:"},{"line_number":1777,"context_line":"                    # Race detected, bailing out"},{"line_number":1778,"context_line":"                    return False"}],"source_content_type":"text/x-python","patch_set":2,"id":"9fdfeff1_5925aa09","line":1775,"range":{"start_line":1775,"start_character":28,"end_line":1775,"end_character":43},"in_reply_to":"9fdfeff1_8afdfa6f","updated":"2019-02-20 11:15:43.000000000","message":"I think the transaction will be aborted on exiting the with block, and the lock will be released.","commit_id":"6885c674cbee3454e8cc89ce28af69b55d06d70c"}]}
