From 472c1440677440e0888570926b49542ddf260724 Mon Sep 17 00:00:00 2001 From: Ian McLeod Date: Wed, 5 Feb 2014 15:51:58 -0600 Subject: [PATCH] Don't raise MySQL 2013 'Lost connection' errors cherry pick, including original commit message below from oslo-incubator commit: b4f72b2987d53bb434e3a833f06d70a2167f5efc Closes bug: 1275838 Although this code error is part of the `ping_listener` tests, it was missing from the list of known - and ignored - connection errors. The code error 2013 refers to a connection lost during a query, see: https://dev.mysql.com/doc/refman/5.0/en/error-messages-client.html#error_cr_server_lost Without this error code, the session won't try to reconnect to mysql, which makes `max_retries` useless. Change-Id: Id8a1c0665468b503b092c4f01ffd40e2be9c6fa9 --- heat/openstack/common/db/sqlalchemy/session.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/heat/openstack/common/db/sqlalchemy/session.py b/heat/openstack/common/db/sqlalchemy/session.py index be0233a8c9..83a00a3e67 100644 --- a/heat/openstack/common/db/sqlalchemy/session.py +++ b/heat/openstack/common/db/sqlalchemy/session.py @@ -685,7 +685,7 @@ def _is_db_connection_error(args): # NOTE(adam_g): This is currently MySQL specific and needs to be extended # to support Postgres and others. # For the db2, the error code is -30081 since the db2 is still not ready - conn_err_codes = ('2002', '2003', '2006', '-30081') + conn_err_codes = ('2002', '2003', '2006', '2013', '-30081') for err_code in conn_err_codes: if args.find(err_code) != -1: return True