Moving task cache update into task creation transaction
Doing this we avoid inclusion of task cache update statement into the next
transaction which may cause different problems such as deadlock.
In this particular case we've got the following deadlock:
1. DeleteIBPImagesTask makes UPDATE tasks SET cache....
2. Response handler in receiver makes SELECT clusters FOR UPDATE
3. The code following DeleteIBPImagesTask makes SELECT clusters FOR UPDATE
4. Response handler performs SELECTS tasks FOR UPDATE
Change-Id: Ic8e5f2386364421b0667f920499e031f587f726e
Closes-Bug: #1653083
(cherry picked from commit ff04eb8394d81750608a95bedf6ab8cd5244d5e8)
Reviewed: https:/ /review. openstack. org/430381 /git.openstack. org/cgit/ openstack/ fuel-web/ commit/ ?id=ea0f198757d 1ee5d5190c905cc 9dd6c632cf889a
Committed: https:/
Submitter: Jenkins
Branch: stable/newton
commit ea0f198757d1ee5 d5190c905cc9dd6 c632cf889a
Author: Georgy Kibardin <email address hidden>
Date: Mon Jan 30 11:47:50 2017 +0300
Moving task cache update into task creation transaction
Doing this we avoid inclusion of task cache update statement into the next
transaction which may cause different problems such as deadlock.
In this particular case we've got the following deadlock:
1. DeleteIBPImagesTask makes UPDATE tasks SET cache....
2. Response handler in receiver makes SELECT clusters FOR UPDATE
3. The code following DeleteIBPImagesTask makes SELECT clusters FOR UPDATE
4. Response handler performs SELECTS tasks FOR UPDATE
Change-Id: Ic8e5f238636442 1b0667f920499e0 31f587f726e 0608a95bedf6ab8 cd5244d5e8)
Closes-Bug: #1653083
(cherry picked from commit ff04eb8394d8175