From c2a91c41604e3a84d3ec305845138936a636db4f Mon Sep 17 00:00:00 2001 From: Mark Rogers <4752942+mrog@users.noreply.github.com> Date: Thu, 8 Sep 2022 15:32:36 -0600 Subject: [PATCH] Reset unusable db connections --- .../main/java/com/cloud/utils/db/ConnectionConcierge.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/framework/db/src/main/java/com/cloud/utils/db/ConnectionConcierge.java b/framework/db/src/main/java/com/cloud/utils/db/ConnectionConcierge.java index a1c473d5ffdc..2ae0de90f268 100644 --- a/framework/db/src/main/java/com/cloud/utils/db/ConnectionConcierge.java +++ b/framework/db/src/main/java/com/cloud/utils/db/ConnectionConcierge.java @@ -174,7 +174,7 @@ public String resetConnection(String name) { Connection conn = TransactionLegacy.getStandaloneConnection(); if (conn == null) { - return "Unable to get anotehr db connection"; + return "Unable to get another db connection"; } concierge.reset(conn); @@ -198,9 +198,13 @@ public String resetKeepAliveTask(int seconds) { protected void runInContext() { s_logger.trace("connection concierge keep alive task"); for (Map.Entry entry : _conns.entrySet()) { + String name = entry.getKey(); ConnectionConcierge concierge = entry.getValue(); if (concierge.keepAlive()) { - testValidity(entry.getKey(), entry.getValue().conn()); + if (testValidity(name, concierge.conn()) != null) { + s_logger.info("Resetting DB connection " + name); + resetConnection(name); + } } } }