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/430382 /git.openstack. org/cgit/ openstack/ fuel-web/ commit/ ?id=297c6c9f790 c08d88e5af39de1 fa83ce3f27e07b
Committed: https:/
Submitter: Jenkins
Branch: stable/mitaka
commit 297c6c9f790c08d 88e5af39de1fa83 ce3f27e07b
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