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 a1c473d5ffd..2ae0de90f26 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 class ConnectionConcierge { 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 class ConnectionConcierge { 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); + } } } }