Repair multiple engines

Bug #1640379 reported by Renat Akhmerov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mistral
Fix Released
High
Renat Akhmerov

Bug Description

We now can't use multiple engines if we run workflows containing joins. We need to fix it.

Revision history for this message
Renat Akhmerov (rakhmerov) wrote :

We need to find a solution how to avoid or handle database (i.e. MySQL) deadlocks properly. We also have users using postgreSQL.

Changed in mistral:
milestone: none → ocata-2
assignee: nobody → Renat Akhmerov (rakhmerov)
importance: Undecided → High
status: New → Confirmed
Changed in mistral:
milestone: ocata-2 → ocata-3
status: Confirmed → Fix Committed
Changed in mistral:
status: Fix Committed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to mistral (master)

Fix proposed to branch: master
Review: https://review.openstack.org/413416

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to mistral (master)

Reviewed: https://review.openstack.org/413416
Committed: https://git.openstack.org/cgit/openstack/mistral/commit/?id=62862ca0b72ca0b91a2b6e598ea55fec084f57d8
Submitter: Jenkins
Branch: master

commit 62862ca0b72ca0b91a2b6e598ea55fec084f57d8
Author: Renat Akhmerov <email address hidden>
Date: Wed Dec 21 12:30:34 2016 +0700

    Refresh object state after lock acquisition in WithItemsTask

    * We need to refresh task state once we acquired the 'with-items'
      lock to prevent modifying stale values cached by SQLAlchemy
      session. For this purpose, new DB API method refresh() was
      added. Without this change 'with-items' task doesn't work
      properly in case of using multiple engines.

    Change-Id: Id5a1d2cf03090279e6df3805562e00d300b89953
    Closes-Bug: #1640378
    Partial-Bug: #1640379

Revision history for this message
OpenStack Infra (hudson-openstack) wrote :

Reviewed: https://review.openstack.org/415618
Committed: https://git.openstack.org/cgit/openstack/mistral/commit/?id=4a86e9665a5bce77ad72944c49483047002cae4f
Submitter: Jenkins
Branch: master

commit 4a86e9665a5bce77ad72944c49483047002cae4f
Author: Renat Akhmerov <email address hidden>
Date: Thu Dec 29 13:57:04 2016 +0700

    Add 'retry_on_deadlock' decorator

    * 'retry_on_deadlock' decorator allows to retry a method if a DB
      deadlock occurs as a result of some DB operation. Deadlocks
      occur sometimes when we use named locks, at least when using
      MySQL as a DB backend.
    * Minor cosmetic changes

    Partial-Bug: #1640379

    Change-Id: I4fb342a3314e4d23a1f787e2cb6f1d70196663c8

Revision history for this message
Renat Akhmerov (rakhmerov) wrote :

Essentially, it's fixed but more testing is needed.

Changed in mistral:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.