summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZane Bitter <zbitter@redhat.com>2017-11-17 14:14:32 -0500
committerDirk Mueller <dirk@dmllr.de>2019-01-04 19:02:09 +0100
commitda8972d5420054065b62e100e3cee33a52a491c3 (patch)
treea6959136fef36df3cbca39797d270add397a3cb7
parent7524e615b2b735b26da44a45c356de801eb21bec (diff)
downloadheat-da8972d5420054065b62e100e3cee33a52a491c3.tar.gz
Retry on DB deadlock when updating resource
Updating a row in the DB using UPDATE...WHERE... seems to be prone to deadlocks. We already fixed added retries for updates of the Stack table (bug 1578615); do the same with the Resource table. Depends-On: https://review.openstack.org/#/c/622853/ Change-Id: I3928f1acc3c354711a27523215784a8cf8767581 Closes-Bug: #1732969 (cherry picked from commit e919b723bc6f6604d3165d143de51715fbf057e7)
-rw-r--r--heat/db/sqlalchemy/api.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/heat/db/sqlalchemy/api.py b/heat/db/sqlalchemy/api.py
index 50bfc37ae..05584e868 100644
--- a/heat/db/sqlalchemy/api.py
+++ b/heat/db/sqlalchemy/api.py
@@ -249,6 +249,8 @@ def _add_atomic_key_to_values(values, atomic_key):
values['atomic_key'] = atomic_key + 1
+@oslo_db_api.wrap_db_retry(max_retries=3, retry_on_deadlock=True,
+ retry_interval=0.5, inc_retry_interval=True)
def resource_update(context, resource_id, values, atomic_key,
expected_engine_id=None):
session = context.session