]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#4415] Updated DB reconnect logs
authorFrancis Dupont <fdupont@isc.org>
Tue, 16 Jun 2026 13:19:20 +0000 (15:19 +0200)
committerRazvan Becheriu <razvan@isc.org>
Wed, 1 Jul 2026 15:54:25 +0000 (18:54 +0300)
ChangeLog
src/bin/dhcp4/ctrl_dhcp4_srv.cc
src/bin/dhcp4/dhcp4_messages.cc
src/bin/dhcp4/dhcp4_messages.h
src/bin/dhcp4/dhcp4_messages.mes
src/bin/dhcp6/ctrl_dhcp6_srv.cc
src/bin/dhcp6/dhcp6_messages.cc
src/bin/dhcp6/dhcp6_messages.h
src/bin/dhcp6/dhcp6_messages.mes

index 2e392a3f4ea29beb405e4acc1faf5e331854e7d3..2780b36f7a826ef684f3011ebe070f489afd38a5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,20 @@
-2498.  [func]          razvan
+2499.  [func]          razvan
        Kea daemons now exit when a critical failure is detected when
        issuing "config-reload", "config-set" and "interface-add"
-       commands.
+       commands. Changed database reconnect disabled and failed
+       log messages from info to either ERROR or FATAL as
+       appropriate in kea-dhcp4 and kea-dhcp6.
        (Gitlab #4415)
 
+2488.  [func]          razvan
+       Updated yang modules: added 'ssl-mode' to database connection
+       parameters, added 'adaptive-lease-time-threshold', removed
+       'consistency', 'serial-consistency', 'request-timeout',
+       'tcp-keepalive', 'tcp-nodelay' from to database connection
+       parameters, added 'allow-address-registration' to the
+       kea-dhcp6 model.
+       (Gitlab #4461)
+
 Kea 3.2.0 (stable) released on June 24, 2026
 
 2497.  [build]         andrei
@@ -79,14 +90,12 @@ Kea 3.2.0 (stable) released on June 24, 2026
        options to fix options with bad flags.
        (Gitlab #4443)
 
-2486.  [func]          razvan
-       Updated yang modules: added 'ssl-mode' to database connection
-       parameters, added 'adaptive-lease-time-threshold', removed
-       'consistency', 'serial-consistency', 'request-timeout',
-       'tcp-keepalive', 'tcp-nodelay' from to database connection
-       parameters, added 'allow-address-registration' to the
-       kea-dhcp6 model.
-       (Gitlab #4461)
+2486.  [func]          fdupont
+       Reconfigure commands that trigger fatal a error that leads
+       to server shutdown now return an error response. Changed
+       socket open failure log messages from INFO to either ERROR
+       or FATAL as appropriate. Applies to kea-dhcp4 and kea-dhcp6.
+       (Gitlab #4507)
 
 2485.  [doc]           sanua356, razvan
        Added documentation about internal type of option 121
index 3d8014663b8793d785642f8cb730081d1b8f4e5e..c23c5dd32fb0bf81bd3b2eed7a70cf800fea3464 100644 (file)
@@ -253,9 +253,9 @@ ControlledDhcpv4Srv::commandConfigReloadHandler(const string&,
         LOG_INFO(dhcp4_logger, DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS).arg(file);
         return (result);
     } catch (const FatalException& ex) {
-        shutdownServer(EXIT_FAILURE);
-        LOG_FATAL(dhcp4_logger, DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR)
+        LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL)
             .arg(file);
+        shutdownServer(EXIT_FAILURE);
         return (createAnswer(CONTROL_RESULT_FATAL_ERROR,
                              "Config reload failed: " + string(ex.what())));
     } catch (const std::exception& ex) {
@@ -1895,14 +1895,20 @@ ControlledDhcpv4Srv::dbLostCallback(ReconnectCtlPtr db_reconnect_ctl) {
     // return false.
     if (!db_reconnect_ctl->retriesLeft() ||
         !db_reconnect_ctl->retryInterval()) {
-        LOG_INFO(dhcp4_logger, DHCP4_DB_RECONNECT_DISABLED)
-            .arg(db_reconnect_ctl->retriesLeft())
-            .arg(db_reconnect_ctl->retryInterval())
-            .arg(db_reconnect_ctl->id())
-            .arg(db_reconnect_ctl->timerName());
         if (db_reconnect_ctl->exitOnFailure()) {
+           LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DB_RECONNECT_DISABLED)
+               .arg(db_reconnect_ctl->retriesLeft())
+               .arg(db_reconnect_ctl->retryInterval())
+               .arg(db_reconnect_ctl->id())
+               .arg(db_reconnect_ctl->timerName());
             shutdownServer(EXIT_FAILURE);
-        }
+        } else {
+           LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_DISABLED)
+               .arg(db_reconnect_ctl->retriesLeft())
+               .arg(db_reconnect_ctl->retryInterval())
+               .arg(db_reconnect_ctl->id())
+               .arg(db_reconnect_ctl->timerName());
+       }
         return (false);
     }
 
@@ -1940,13 +1946,17 @@ ControlledDhcpv4Srv::dbFailedCallback(ReconnectCtlPtr db_reconnect_ctl) {
         return (false);
     }
 
-    LOG_INFO(dhcp4_logger, DHCP4_DB_RECONNECT_FAILED)
-        .arg(db_reconnect_ctl->maxRetries())
-        .arg(db_reconnect_ctl->id())
-        .arg(db_reconnect_ctl->timerName());
-
     if (db_reconnect_ctl->exitOnFailure()) {
+       LOG_FATAL(dhcp4_logger, DHCP4_FATAL_DB_RECONNECT_FAILED)
+           .arg(db_reconnect_ctl->maxRetries())
+           .arg(db_reconnect_ctl->id())
+           .arg(db_reconnect_ctl->timerName());
         shutdownServer(EXIT_FAILURE);
+    } else {
+       LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_FAILED)
+           .arg(db_reconnect_ctl->maxRetries())
+           .arg(db_reconnect_ctl->id())
+           .arg(db_reconnect_ctl->timerName());
     }
 
     return (true);
index 5c69b6a163db515b1ae35a086f98079328040a36..54cf029d2e316798261a61977fb7e8166a29e789 100644 (file)
@@ -68,9 +68,11 @@ extern const isc::log::MessageID DHCP4_DHCP4O6_SUBNET_SELECTION_FAILED = "DHCP4_
 extern const isc::log::MessageID DHCP4_DISCOVER = "DHCP4_DISCOVER";
 extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION = "DHCP4_DYNAMIC_RECONFIGURATION";
 extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL = "DHCP4_DYNAMIC_RECONFIGURATION_FAIL";
-extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR = "DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR";
 extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS = "DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS";
 extern const isc::log::MessageID DHCP4_EMPTY_HOSTNAME = "DHCP4_EMPTY_HOSTNAME";
+extern const isc::log::MessageID DHCP4_FATAL_DB_RECONNECT_DISABLED = "DHCP4_FATAL_DB_RECONNECT_DISABLED";
+extern const isc::log::MessageID DHCP4_FATAL_DB_RECONNECT_FAILED = "DHCP4_FATAL_DB_RECONNECT_FAILED";
+extern const isc::log::MessageID DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL = "DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL";
 extern const isc::log::MessageID DHCP4_FATAL_OPEN_SOCKETS_FAILED = "DHCP4_FATAL_OPEN_SOCKETS_FAILED";
 extern const isc::log::MessageID DHCP4_FLEX_ID = "DHCP4_FLEX_ID";
 extern const isc::log::MessageID DHCP4_GENERATE_FQDN = "DHCP4_GENERATE_FQDN";
@@ -254,9 +256,11 @@ const char* values[] = {
     "DHCP4_DISCOVER", "%1: server is processing DHCPDISCOVER with hint=%2",
     "DHCP4_DYNAMIC_RECONFIGURATION", "initiate server reconfiguration using file: %1, after receiving SIGHUP signal or config-reload command",
     "DHCP4_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1",
-    "DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR", "dynamic server reconfiguration failed with file: %1",
     "DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS", "dynamic server reconfiguration succeeded with file: %1",
     "DHCP4_EMPTY_HOSTNAME", "%1: received empty hostname from the client, skipping processing of this option",
+    "DHCP4_FATAL_DB_RECONNECT_DISABLED", "database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4",
+    "DHCP4_FATAL_DB_RECONNECT_FAILED", "maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3",
+    "DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1",
     "DHCP4_FATAL_OPEN_SOCKETS_FAILED", "maximum number of open service sockets attempts: %1, has been exhausted without success",
     "DHCP4_FLEX_ID", "%1: flexible identifier generated for incoming packet: %2",
     "DHCP4_GENERATE_FQDN", "%1: client did not send a FQDN or hostname; FQDN will be generated for the client",
index 7299a895637bfbd0701c645a2343c7960e603564..d9142d7a9d8cffefe9d5b1bd741780c4f3f2bc1f 100644 (file)
@@ -69,9 +69,11 @@ extern const isc::log::MessageID DHCP4_DHCP4O6_SUBNET_SELECTION_FAILED;
 extern const isc::log::MessageID DHCP4_DISCOVER;
 extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION;
 extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL;
-extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR;
 extern const isc::log::MessageID DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS;
 extern const isc::log::MessageID DHCP4_EMPTY_HOSTNAME;
+extern const isc::log::MessageID DHCP4_FATAL_DB_RECONNECT_DISABLED;
+extern const isc::log::MessageID DHCP4_FATAL_DB_RECONNECT_FAILED;
+extern const isc::log::MessageID DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL;
 extern const isc::log::MessageID DHCP4_FATAL_OPEN_SOCKETS_FAILED;
 extern const isc::log::MessageID DHCP4_FLEX_ID;
 extern const isc::log::MessageID DHCP4_GENERATE_FQDN;
index 94b7187264619709da2e575c5a28c05842ebf1ee..359d8d9545eb823190a28e0959598541694389f4 100644 (file)
@@ -233,14 +233,15 @@ This error message is issued when the configuration includes an unsupported
 object (i.e. a top level element).
 
 % DHCP4_DB_RECONNECT_DISABLED database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4
-This is an informational message indicating that connectivity to either the
-lease or host database or both and that automatic reconnect is not enabled.
+This is an error message indicating that connectivity to either the
+lease or host database or both was lost and that automatic reconnect is
+not enabled. Loss of connectivity is typically a network or database server
+issue.
 
 % DHCP4_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3
 This error indicates that the server failed to reconnect to the lease and/or
 host database(s) after making the maximum configured number of reconnect
-attempts. This might cause the server to shut down as specified in the
-configuration. Loss of connectivity is typically a network or database server
+attempts. Loss of connectivity is typically a network or database server
 issue.
 
 % DHCP4_DB_RECONNECT_LOST_CONNECTION database connection lost: manager ID: %1, timer: %2.
@@ -410,10 +411,6 @@ as a result of receiving SIGHUP signal or config-reload command.
 This is an error message logged when the dynamic reconfiguration of the
 DHCP server failed.
 
-% DHCP4_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR dynamic server reconfiguration failed with file: %1
-This is a fatal error message logged when the dynamic reconfiguration of the
-DHCP server failed.
-
 % DHCP4_DYNAMIC_RECONFIGURATION_SUCCESS dynamic server reconfiguration succeeded with file: %1
 This is info message logged when the dynamic reconfiguration of the DHCP server
 succeeded.
@@ -425,6 +422,24 @@ from a client. Server does not process empty Hostname options and therefore
 option is skipped. The argument holds the client and transaction identification
 information.
 
+% DHCP4_FATAL_DB_RECONNECT_DISABLED database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4
+This is an error message indicating that connectivity to either the
+lease or host database or both was lost and that automatic reconnect is
+ot enabled. This causes the server to shut down as specified in the
+configuration. Loss of connectivity is typically a network or database server
+issue.
+
+% DHCP4_FATAL_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3
+This error indicates that the server failed to reconnect to the lease and/or
+host database(s) after making the maximum configured number of reconnect
+attempts. This causes the server to shut down as specified in the
+configuration. Loss of connectivity is typically a network or database server
+issue.
+
+% DHCP4_FATAL_DYNAMIC_RECONFIGURATION_FAIL dynamic server reconfiguration failed with file: %1
+This is a fatal error message logged when the dynamic reconfiguration of the
+DHCP server failed.
+
 % DHCP4_FATAL_OPEN_SOCKETS_FAILED maximum number of open service sockets attempts: %1, has been exhausted without success
 This error indicates that the server failed to bind service sockets after making
 the maximum configured number of open attempts. This causes the server
index d3de2112a62bd6934ee3fb23d9a9236fcc2c6cb2..3a6b9d93a61bac67ccf5133b7e7a1a9f098127e8 100644 (file)
@@ -256,9 +256,9 @@ ControlledDhcpv6Srv::commandConfigReloadHandler(const string&,
         LOG_INFO(dhcp6_logger, DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS).arg(file);
         return (result);
     } catch (const FatalException& ex) {
-        shutdownServer(EXIT_FAILURE);
-        LOG_FATAL(dhcp6_logger, DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR)
+        LOG_FATAL(dhcp6_logger, DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL)
             .arg(file);
+        shutdownServer(EXIT_FAILURE);
         return (createAnswer(CONTROL_RESULT_FATAL_ERROR,
                              "Config reload failed: " + string(ex.what())));
     } catch (const std::exception& ex) {
@@ -1681,13 +1681,19 @@ ControlledDhcpv6Srv::dbLostCallback(ReconnectCtlPtr db_reconnect_ctl) {
     // return false.
     if (!db_reconnect_ctl->retriesLeft() ||
         !db_reconnect_ctl->retryInterval()) {
-        LOG_INFO(dhcp6_logger, DHCP6_DB_RECONNECT_DISABLED)
-            .arg(db_reconnect_ctl->retriesLeft())
-            .arg(db_reconnect_ctl->retryInterval())
-            .arg(db_reconnect_ctl->id())
-            .arg(db_reconnect_ctl->timerName());
         if (db_reconnect_ctl->exitOnFailure()) {
+            LOG_FATAL(dhcp6_logger, DHCP6_FATAL_DB_RECONNECT_DISABLED)
+                .arg(db_reconnect_ctl->retriesLeft())
+                .arg(db_reconnect_ctl->retryInterval())
+                .arg(db_reconnect_ctl->id())
+                .arg(db_reconnect_ctl->timerName());
             shutdownServer(EXIT_FAILURE);
+        } else {
+            LOG_ERROR(dhcp6_logger, DHCP6_DB_RECONNECT_DISABLED)
+                .arg(db_reconnect_ctl->retriesLeft())
+                .arg(db_reconnect_ctl->retryInterval())
+                .arg(db_reconnect_ctl->id())
+                .arg(db_reconnect_ctl->timerName());
         }
         return (false);
     }
@@ -1726,15 +1732,18 @@ ControlledDhcpv6Srv::dbFailedCallback(ReconnectCtlPtr db_reconnect_ctl) {
         return (false);
     }
 
-    LOG_INFO(dhcp6_logger, DHCP6_DB_RECONNECT_FAILED)
-        .arg(db_reconnect_ctl->maxRetries())
-        .arg(db_reconnect_ctl->id())
-        .arg(db_reconnect_ctl->timerName());
-
     if (db_reconnect_ctl->exitOnFailure()) {
+        LOG_FATAL(dhcp6_logger, DHCP6_FATAL_DB_RECONNECT_FAILED)
+            .arg(db_reconnect_ctl->maxRetries())
+            .arg(db_reconnect_ctl->id())
+            .arg(db_reconnect_ctl->timerName());
         shutdownServer(EXIT_FAILURE);
+    } else {
+        LOG_ERROR(dhcp6_logger, DHCP6_DB_RECONNECT_FAILED)
+            .arg(db_reconnect_ctl->maxRetries())
+            .arg(db_reconnect_ctl->id())
+            .arg(db_reconnect_ctl->timerName());
     }
-
     return (true);
 }
 
index 8255857f3227f0cf9e9f6484ef995f8add190371..679b2e60211dc0c0d5943306c6366869a3888a85 100644 (file)
@@ -67,8 +67,10 @@ extern const isc::log::MessageID DHCP6_DHCP4O6_RESPONSE_DATA = "DHCP6_DHCP4O6_RE
 extern const isc::log::MessageID DHCP6_DHCP4O6_SEND_FAIL = "DHCP6_DHCP4O6_SEND_FAIL";
 extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION = "DHCP6_DYNAMIC_RECONFIGURATION";
 extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL = "DHCP6_DYNAMIC_RECONFIGURATION_FAIL";
-extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR = "DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR";
 extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS = "DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS";
+extern const isc::log::MessageID DHCP6_FATAL_DB_RECONNECT_DISABLED = "DHCP6_FATAL_DB_RECONNECT_DISABLED";
+extern const isc::log::MessageID DHCP6_FATAL_DB_RECONNECT_FAILED = "DHCP6_FATAL_DB_RECONNECT_FAILED";
+extern const isc::log::MessageID DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL = "DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL";
 extern const isc::log::MessageID DHCP6_FATAL_OPEN_SOCKETS_FAILED = "DHCP6_FATAL_OPEN_SOCKETS_FAILED";
 extern const isc::log::MessageID DHCP6_FLEX_ID = "DHCP6_FLEX_ID";
 extern const isc::log::MessageID DHCP6_HOOK_ADDR6_REGISTER_DROP = "DHCP6_HOOK_ADDR6_REGISTER_DROP";
@@ -250,8 +252,10 @@ const char* values[] = {
     "DHCP6_DHCP4O6_SEND_FAIL", "%1: failed to send DHCPv4o6 packet: %2",
     "DHCP6_DYNAMIC_RECONFIGURATION", "initiate server reconfiguration using file: %1, after receiving SIGHUP signal or config-reload command",
     "DHCP6_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1",
-    "DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR", "dynamic server reconfiguration failed with file: %1",
     "DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS", "dynamic server reconfiguration succeeded with file: %1",
+    "DHCP6_FATAL_DB_RECONNECT_DISABLED", "database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4",
+    "DHCP6_FATAL_DB_RECONNECT_FAILED", "maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3",
+    "DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL", "dynamic server reconfiguration failed with file: %1",
     "DHCP6_FATAL_OPEN_SOCKETS_FAILED", "maximum number of open service sockets attempts: %1, has been exhausted without success",
     "DHCP6_FLEX_ID", "%1: flexible identifier generated for incoming packet: %2",
     "DHCP6_HOOK_ADDR6_REGISTER_DROP", "%1: ADDR-REG-INFORM for %2 is dropped, because a callout set the next step to DROP",
index 64871957d86e0bc0bb2a6e48d2a30ff37583c0e3..75b569b020bacdb26080741899dbee255159217a 100644 (file)
@@ -68,8 +68,10 @@ extern const isc::log::MessageID DHCP6_DHCP4O6_RESPONSE_DATA;
 extern const isc::log::MessageID DHCP6_DHCP4O6_SEND_FAIL;
 extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION;
 extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL;
-extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR;
 extern const isc::log::MessageID DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS;
+extern const isc::log::MessageID DHCP6_FATAL_DB_RECONNECT_DISABLED;
+extern const isc::log::MessageID DHCP6_FATAL_DB_RECONNECT_FAILED;
+extern const isc::log::MessageID DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL;
 extern const isc::log::MessageID DHCP6_FATAL_OPEN_SOCKETS_FAILED;
 extern const isc::log::MessageID DHCP6_FLEX_ID;
 extern const isc::log::MessageID DHCP6_HOOK_ADDR6_REGISTER_DROP;
index 757565be8f5981baa69c7077e07808106580bb52..18e9c78dc0ffa22486a3e64aee80f4755e8cba26 100644 (file)
@@ -215,14 +215,15 @@ may be overridden at runtime by setting the environment variable
 'KEA_DHCP_DATA_DIR'.
 
 % DHCP6_DB_RECONNECT_DISABLED database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4
-This is an informational message indicating that connectivity to either the
-lease or host database or both and that automatic reconnect is not enabled.
+This is an error message indicating that connectivity to either the
+lease or host database or both was lost and that automatic reconnect is
+not enabled. Loss of connectivity is typically a network or database server
+issue.
 
 % DHCP6_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3
 This error indicates that the server failed to reconnect to the lease and/or
 host database(s) after making the maximum configured number of reconnect
-attempts. This might cause the server to shut down as specified in the
-configuration. Loss of connectivity is typically a network or database server
+attempts. Loss of connectivity is typically a network or database server
 issue.
 
 % DHCP6_DB_RECONNECT_LOST_CONNECTION database connection lost: manager ID: %1, timer: %2.
@@ -393,14 +394,28 @@ as a result of receiving SIGHUP signal or config-reload command.
 This is an error message logged when the dynamic reconfiguration of the
 DHCP server failed.
 
-% DHCP6_DYNAMIC_RECONFIGURATION_FAIL_FATAL_ERROR dynamic server reconfiguration failed with file: %1
-This is a fatal error message logged when the dynamic reconfiguration of the
-DHCP server failed.
-
 % DHCP6_DYNAMIC_RECONFIGURATION_SUCCESS dynamic server reconfiguration succeeded with file: %1
 This is info message logged when the dynamic reconfiguration of the DHCP server
 succeeded.
 
+% DHCP6_FATAL_DB_RECONNECT_DISABLED database reconnect is disabled: retries left: %1, reconnect wait time: %2, manager ID: %3, timer: %4
+This is an error message indicating that connectivity to either the
+lease or host database or both was lost and that automatic reconnect is
+not enabled. This causes the server to shut down as specified in the
+configuration. Loss of connectivity is typically a network or database server
+issue.
+
+% DHCP6_FATAL_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, manager ID: %2, timer: %3
+This error indicates that the server failed to reconnect to the lease and/or
+host database(s) after making the maximum configured number of reconnect
+attempts. This causes the server to shut down as specified in the
+configuration. Loss of connectivity is typically a network or database server
+issue.
+
+% DHCP6_FATAL_DYNAMIC_RECONFIGURATION_FAIL dynamic server reconfiguration failed with file: %1
+This is a fatal error message logged when the dynamic reconfiguration of the
+DHCP server failed.
+
 % DHCP6_FATAL_OPEN_SOCKETS_FAILED maximum number of open service sockets attempts: %1, has been exhausted without success
 This error indicates that the server failed to bind service sockets after making
 the maximum configured number of open attempts. This causes the server