Comment 3 for bug 1821373

Revision history for this message
Matthew Booth (mbooth-9) wrote :

The root cause of this issue appears to be in sqlalchemy.api._instance_update. This method modifies the contents of the values dict when called, including popping the value of expected_task_state. If this results in db conflict due a concurrent update and it is retried, the second invocation is called without expected_task_state in values, and therefore it isn't checked.