Reset unusable db connections (#6725)

When the management service detects a broken database connection, it didn't do anything about it. It already has code to reset the connection, but that doesn't get used. This change causes the connection to be reset after it's found to be unusable.

Fixes #6724 (see issue for repro steps)
This commit is contained in:
mrog 2022-09-13 02:42:53 -06:00 committed by GitHub
parent 4ed1be821c
commit 77df050160
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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<String, ConnectionConcierge> 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);
}
}
}
}