diff options
author | Jenkins <jenkins@review.openstack.org> | 2016-12-15 15:38:19 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2016-12-15 15:38:19 +0000 |
commit | 086be4ac91b17942370980a35d67d48d2e42567a (patch) | |
tree | 9413b19f2d8a19484dc3886bf943088f1b5750d5 | |
parent | 6843da73a75d14e912a03bab2b203feda2051ada (diff) | |
parent | f26d0e09738da6c4faa9ddc08767779289931b42 (diff) | |
download | oslo-db-086be4ac91b17942370980a35d67d48d2e42567a.tar.gz |
Merge "exc_filters: fix deadlock detection for percona xtradb cluster" into stable/newton4.13.5
-rw-r--r-- | oslo_db/sqlalchemy/exc_filters.py | 2 | ||||
-rw-r--r-- | oslo_db/tests/sqlalchemy/test_exc_filters.py | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/oslo_db/sqlalchemy/exc_filters.py b/oslo_db/sqlalchemy/exc_filters.py index ab1781b..375816b 100644 --- a/oslo_db/sqlalchemy/exc_filters.py +++ b/oslo_db/sqlalchemy/exc_filters.py @@ -62,6 +62,8 @@ def filters(dbname, exception_type, regex): @filters("mysql", sqla_exc.DatabaseError, r"^.*\b1205\b.*Lock wait timeout exceeded.*") @filters("mysql", sqla_exc.InternalError, r"^.*\b1213\b.*Deadlock found.*") +@filters("mysql", sqla_exc.InternalError, + r"^.*\b1213\b.*detected deadlock/conflict.*") @filters("postgresql", sqla_exc.OperationalError, r"^.*deadlock detected.*") @filters("postgresql", sqla_exc.DBAPIError, r"^.*deadlock detected.*") @filters("ibm_db_sa", sqla_exc.DBAPIError, r"^.*SQL0911N.*") diff --git a/oslo_db/tests/sqlalchemy/test_exc_filters.py b/oslo_db/tests/sqlalchemy/test_exc_filters.py index fb6703f..10e5065 100644 --- a/oslo_db/tests/sqlalchemy/test_exc_filters.py +++ b/oslo_db/tests/sqlalchemy/test_exc_filters.py @@ -859,6 +859,14 @@ class TestDeadlock(TestsExceptionFilter): "transaction')" ) + def test_mysql_pymysql_wsrep_deadlock(self): + self._run_deadlock_detect_test( + "mysql", + "(1213, 'WSREP detected deadlock/conflict and aborted the " + "transaction. Try restarting the transaction')", + orig_exception_cls=self.InternalError + ) + def test_mysql_pymysql_galera_deadlock(self): self._run_deadlock_detect_test( "mysql", |