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
Reviewed: https:/ /review. openstack. org/426675 /git.openstack. org/cgit/ openstack/ fuel-web/ commit/ ?id=ff04eb8394d 81750608a95bedf 6ab8cd5244d5e8
Committed: https:/
Submitter: Jenkins
Branch: master
commit ff04eb8394d8175 0608a95bedf6ab8 cd5244d5e8
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
Closes-Bug: #1653083