From: Razvan Becheriu Date: Fri, 13 Nov 2020 11:38:20 +0000 (+0200) Subject: [#1375] added log messages X-Git-Tag: Kea-1.9.3~84 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6195cbfd3e7a52aec0fb57c5652b9b79fefb9e3a;p=thirdparty%2Fkea.git [#1375] added log messages --- diff --git a/src/bin/dhcp4/ctrl_dhcp4_srv.cc b/src/bin/dhcp4/ctrl_dhcp4_srv.cc index dfab36ab69..81f8bc3df4 100644 --- a/src/bin/dhcp4/ctrl_dhcp4_srv.cc +++ b/src/bin/dhcp4/ctrl_dhcp4_srv.cc @@ -1167,6 +1167,8 @@ ControlledDhcpv4Srv::dbLostCallback(ReconnectCtlPtr db_reconnect_ctl) { // Disable service until the connection is recovered. network_state_->disableService(); + LOG_INFO(dhcp4_logger, DHCP4_DB_RECONNECT_LOST_CONNECTION); + if (!db_reconnect_ctl) { // This should never happen LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_NO_DB_CTL); @@ -1191,6 +1193,8 @@ ControlledDhcpv4Srv::dbRecoveredCallback(ReconnectCtlPtr db_reconnect_ctl) { // Enable service after the connection is recovered. network_state_->enableService(); + LOG_INFO(dhcp4_logger, DHCP4_DB_RECONNECT_SUCCEEDED); + if (!db_reconnect_ctl) { // This should never happen LOG_ERROR(dhcp4_logger, DHCP4_DB_RECONNECT_NO_DB_CTL); @@ -1210,8 +1214,8 @@ ControlledDhcpv4Srv::dbFailedCallback(ReconnectCtlPtr db_reconnect_ctl) { return (false); } - //LOG_INFO(dhcp4_logger, DHCP4_DB_FAILED_RECONNECT) - // .arg(db_reconnect_ctl->maxRetries()); + LOG_INFO(dhcp4_logger, DHCP4_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()); db_reconnect_ctl->resetRetries(); diff --git a/src/bin/dhcp4/dhcp4_messages.mes b/src/bin/dhcp4/dhcp4_messages.mes index afcfffae27..4ef0b9323e 100644 --- a/src/bin/dhcp4/dhcp4_messages.mes +++ b/src/bin/dhcp4/dhcp4_messages.mes @@ -197,28 +197,25 @@ object (i.e. a top level element). A debug message indicating that the DHCPv4 server has received an updated configuration from the Kea configuration system. -% DHCP4_DB_RECONNECT_ATTEMPT_FAILED database reconnect failed: %1 -An error message indicating that an attempt to reconnect to the lease and/or -host data bases has failed. This occurs after connectivity to either one -has been lost and an automatic attempt to reconnect has failed. - -% DHCP4_DB_RECONNECT_ATTEMPT_SCHEDULE scheduling attempt %1 of %2 in %3 milliseconds -An informational message indicating that the server is scheduling the next -attempt to reconnect to its lease and/or host databases. This occurs when the -server has lost database connectivity and is attempting to reconnect -automatically. - % DHCP4_DB_RECONNECT_DISABLED database reconnect is disabled: max-reconnect-tries %1, reconnect-wait-time %2 This is an informational message indicating that connectivity to either the lease or host database or both and that automatic reconnect is not enabled. +% DHCP4_DB_RECONNECT_LOST_CONNECTION database connection lost. +This info message indicates that the connection has been lost and the dhcp +service has been disabled in order to try to recover the connection. + % DHCP4_DB_RECONNECT_NO_DB_CTL unexpected error in database reconnect This is an error message indicating a programmatic error that should not occur. It prohibits the server from attempting to reconnect to its databases if connectivity is lost, and the server exits. This error should be reported. -% DHCP4_DB_RECONNECT_RETRIES_EXHAUSTED maximum number of database reconnect attempts: %1, has been exhausted without success, server is shutting down! +% DHCP4_DB_RECONNECT_SUCCEEDED database connection recovered. +This info message indicates that the connection has been recovered and the dhcp +service has been restored. + +% DHCP4_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, server is shutting down! This error indicates that the server is shutting down after failing to reconnect to the lease and/or host database(s) after making the maximum configured number of reconnect attempts. Loss of connectivity is typically a network or database diff --git a/src/bin/dhcp6/ctrl_dhcp6_srv.cc b/src/bin/dhcp6/ctrl_dhcp6_srv.cc index 4f07265efc..eb8317051f 100644 --- a/src/bin/dhcp6/ctrl_dhcp6_srv.cc +++ b/src/bin/dhcp6/ctrl_dhcp6_srv.cc @@ -1186,6 +1186,8 @@ ControlledDhcpv6Srv::dbLostCallback(ReconnectCtlPtr db_reconnect_ctl) { // Disable service until the connection is recovered. network_state_->disableService(); + LOG_INFO(dhcp6_logger, DHCP6_DB_RECONNECT_LOST_CONNECTION); + if (!db_reconnect_ctl) { // This should never happen LOG_ERROR(dhcp6_logger, DHCP6_DB_RECONNECT_NO_DB_CTL); @@ -1210,6 +1212,8 @@ ControlledDhcpv6Srv::dbRecoveredCallback(ReconnectCtlPtr db_reconnect_ctl) { // Enable service after the connection is recovered. network_state_->enableService(); + LOG_INFO(dhcp6_logger, DHCP6_DB_RECONNECT_SUCCEEDED); + if (!db_reconnect_ctl) { // This should never happen LOG_ERROR(dhcp6_logger, DHCP6_DB_RECONNECT_NO_DB_CTL); @@ -1229,8 +1233,8 @@ ControlledDhcpv6Srv::dbFailedCallback(ReconnectCtlPtr db_reconnect_ctl) { return (false); } - //LOG_INFO(dhcp6_logger, DHCP6_DB_FAILED_RECONNECT) - // .arg(db_reconnect_ctl->maxRetries()); + LOG_INFO(dhcp6_logger, DHCP6_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()); db_reconnect_ctl->resetRetries(); diff --git a/src/bin/dhcp6/dhcp6_messages.mes b/src/bin/dhcp6/dhcp6_messages.mes index 1cb32ce2d5..6bcfeafffa 100644 --- a/src/bin/dhcp6/dhcp6_messages.mes +++ b/src/bin/dhcp6/dhcp6_messages.mes @@ -147,28 +147,25 @@ This informational message is printed every time the IPv6 DHCP server is started. It indicates what database backend type is being to store lease and other information. -% DHCP6_DB_RECONNECT_ATTEMPT_FAILED database reconnect failed: %1 -An error message indicating that an attempt to reconnect to the lease and/or -host data bases has failed. This occurs after connectivity to either one -has been lost and an automatic attempt to reconnect has failed. - -% DHCP6_DB_RECONNECT_ATTEMPT_SCHEDULE scheduling attempt %1 of %2 in %3 milliseconds -An informational message indicating that the server is scheduling the next -attempt to reconnect to its lease and/or host databases. This occurs when the -server has lost database connectivity and is attempting to reconnect -automatically. - % DHCP6_DB_RECONNECT_DISABLED database reconnect is disabled: max-reconnect-tries %1, reconnect-wait-time %2 This is an informational message indicating that connectivity to either the lease or host database or both and that automatic reconnect is not enabled. +% DHCP6_DB_RECONNECT_LOST_CONNECTION database connection lost. +This info message indicates that the connection has been lost and the dhcp +service has been disabled in order to try to recover the connection. + % DHCP6_DB_RECONNECT_NO_DB_CTL unexpected error in database reconnect This is an error message indicating a programmatic error that should not occur. It prohibits the server from attempting to reconnect to its databases if connectivity is lost, and the server exits. This error should be reported. -% DHCP6_DB_RECONNECT_RETRIES_EXHAUSTED maximum number of database reconnect attempts: %1, has been exhausted without success, server is shutting down! +% DHCP6_DB_RECONNECT_SUCCEEDED database connection recovered. +This info message indicates that the connection has been recovered and the dhcp +service has been restored. + +% DHCP6_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success, server is shutting down! This error indicates that the server is shutting down after failing to reconnect to the lease and/or host database(s) after making the maximum configured number of reconnect attempts. Loss of connectivity is typically a network or database diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc index 1225a85dc7..97c1ffd1d3 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp4.cc @@ -2335,8 +2335,8 @@ public: reopened = true; } catch (const std::exception& ex) { - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_ATTEMPT_FAILED) - // .arg(ex.what()); + LOG_ERROR(mysql_cb_logger, MYSQL_CB_RECONNECT_ATTEMPT_FAILED4) + .arg(ex.what()); } if (reopened) { @@ -2348,18 +2348,18 @@ public: } else { if (!db_reconnect_ctl->checkRetries()) { // We're out of retries, log it and initiate shutdown. - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_RETRIES_EXHAUSTED) - // .arg(db_reconnect_ctl->maxRetries()); + LOG_ERROR(mysql_cb_logger, MYSQL_CB_RECONNECT_FAILED4) + .arg(db_reconnect_ctl->maxRetries()); DatabaseConnection::invokeDbFailedCallback(db_reconnect_ctl); return (false); } - //LOG_INFO(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_ATTEMPT_SCHEDULE) - // .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() 1) - // .arg(db_reconnect_ctl->maxRetries()) - // .arg(db_reconnect_ctl->retryInterval()); + LOG_INFO(mysql_cb_logger, MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE4) + .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->retryInterval()); TimerMgr::instance()->setup(db_reconnect_ctl->timerName()); } diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc index bc8ed45342..9c56999794 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_dhcp6.cc @@ -2778,8 +2778,8 @@ public: reopened = true; } catch (const std::exception& ex) { - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_ATTEMPT_FAILED) - // .arg(ex.what()); + LOG_ERROR(mysql_cb_logger, MYSQL_CB_RECONNECT_ATTEMPT_FAILED6) + .arg(ex.what()); } if (reopened) { @@ -2791,18 +2791,18 @@ public: } else { if (!db_reconnect_ctl->checkRetries()) { // We're out of retries, log it and initiate shutdown. - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_RETRIES_EXHAUSTED) - // .arg(db_reconnect_ctl->maxRetries()); + LOG_ERROR(mysql_cb_logger, MYSQL_CB_RECONNECT_FAILED6) + .arg(db_reconnect_ctl->maxRetries()); DatabaseConnection::invokeDbFailedCallback(db_reconnect_ctl); return (false); } - //LOG_INFO(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_ATTEMPT_SCHEDULE) - // .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() 1) - // .arg(db_reconnect_ctl->maxRetries()) - // .arg(db_reconnect_ctl->retryInterval()); + LOG_INFO(mysql_cb_logger, MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE6) + .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->retryInterval()); TimerMgr::instance()->setup(db_reconnect_ctl->timerName()); } diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_messages.cc b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.cc index 8dda8ce40d..a28ab8abed 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_messages.cc +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.cc @@ -1,4 +1,4 @@ -// File created from ../../../../src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes on Fri Oct 23 2020 14:07 +// File created from ../../../../src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes on Fri Nov 13 2020 13:09 #include #include @@ -166,6 +166,12 @@ extern const isc::log::MessageID MYSQL_CB_GET_SUBNET6_BY_SUBNET_ID = "MYSQL_CB_G extern const isc::log::MessageID MYSQL_CB_GET_TYPE4 = "MYSQL_CB_GET_TYPE4"; extern const isc::log::MessageID MYSQL_CB_GET_TYPE6 = "MYSQL_CB_GET_TYPE6"; extern const isc::log::MessageID MYSQL_CB_INIT_OK = "MYSQL_CB_INIT_OK"; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_ATTEMPT_FAILED4 = "MYSQL_CB_RECONNECT_ATTEMPT_FAILED4"; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_ATTEMPT_FAILED6 = "MYSQL_CB_RECONNECT_ATTEMPT_FAILED6"; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE4 = "MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE4"; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE6 = "MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE6"; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_FAILED4 = "MYSQL_CB_RECONNECT_FAILED4"; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_FAILED6 = "MYSQL_CB_RECONNECT_FAILED6"; extern const isc::log::MessageID MYSQL_CB_REGISTER_BACKEND_TYPE4 = "MYSQL_CB_REGISTER_BACKEND_TYPE4"; extern const isc::log::MessageID MYSQL_CB_REGISTER_BACKEND_TYPE6 = "MYSQL_CB_REGISTER_BACKEND_TYPE6"; extern const isc::log::MessageID MYSQL_CB_UNREGISTER_BACKEND_TYPE4 = "MYSQL_CB_UNREGISTER_BACKEND_TYPE4"; @@ -336,6 +342,12 @@ const char* values[] = { "MYSQL_CB_GET_TYPE4", "get type", "MYSQL_CB_GET_TYPE6", "get type", "MYSQL_CB_INIT_OK", "loading MYSQL CB hooks library successful", + "MYSQL_CB_RECONNECT_ATTEMPT_FAILED4", "database reconnect failed: %1", + "MYSQL_CB_RECONNECT_ATTEMPT_FAILED6", "database reconnect failed: %1", + "MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE4", "scheduling attempt %1 of %2 in %3 milliseconds", + "MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE6", "scheduling attempt %1 of %2 in %3 milliseconds", + "MYSQL_CB_RECONNECT_FAILED4", "maximum number of database reconnect attempts: %1, has been exhausted without success", + "MYSQL_CB_RECONNECT_FAILED6", "maximum number of database reconnect attempts: %1, has been exhausted without success", "MYSQL_CB_REGISTER_BACKEND_TYPE4", "register backend", "MYSQL_CB_REGISTER_BACKEND_TYPE6", "register backend", "MYSQL_CB_UNREGISTER_BACKEND_TYPE4", "unregister backend", diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_messages.h b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.h index 0188e6400a..72c3e2a082 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_messages.h +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.h @@ -1,4 +1,4 @@ -// File created from ../../../../src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes on Fri Oct 23 2020 14:07 +// File created from ../../../../src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes on Fri Nov 13 2020 13:09 #ifndef MYSQL_CB_MESSAGES_H #define MYSQL_CB_MESSAGES_H @@ -167,6 +167,12 @@ extern const isc::log::MessageID MYSQL_CB_GET_SUBNET6_BY_SUBNET_ID; extern const isc::log::MessageID MYSQL_CB_GET_TYPE4; extern const isc::log::MessageID MYSQL_CB_GET_TYPE6; extern const isc::log::MessageID MYSQL_CB_INIT_OK; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_ATTEMPT_FAILED4; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_ATTEMPT_FAILED6; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE4; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE6; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_FAILED4; +extern const isc::log::MessageID MYSQL_CB_RECONNECT_FAILED6; extern const isc::log::MessageID MYSQL_CB_REGISTER_BACKEND_TYPE4; extern const isc::log::MessageID MYSQL_CB_REGISTER_BACKEND_TYPE6; extern const isc::log::MessageID MYSQL_CB_UNREGISTER_BACKEND_TYPE4; diff --git a/src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes index 95d504e259..f55d04095c 100644 --- a/src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes +++ b/src/hooks/dhcp/mysql_cb/mysql_cb_messages.mes @@ -498,3 +498,27 @@ Debug message issued when triggered an action to unregister backend % MYSQL_CB_UNREGISTER_BACKEND_TYPE6 unregister backend Debug message issued when triggered an action to unregister backend + +% MYSQL_CB_RECONNECT_ATTEMPT_FAILED4 database reconnect failed: %1 +Error message issued when an attempt to reconnect has failed. + +% MYSQL_CB_RECONNECT_ATTEMPT_FAILED6 database reconnect failed: %1 +Error message issued when an attempt to reconnect has failed. + +% MYSQL_CB_RECONNECT_FAILED4 maximum number of database reconnect attempts: %1, has been exhausted without success +Error message issued when the server failed to reconnect. Loss of connectivity +is typically a network or database server issue. + +% MYSQL_CB_RECONNECT_FAILED6 maximum number of database reconnect attempts: %1, has been exhausted without success +Error message issued when the server failed to reconnect. Loss of connectivity +is typically a network or database server issue. + +% MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE4 scheduling attempt %1 of %2 in %3 milliseconds +Info message issued when the server is scheduling the next attempt to reconnect +to the database. This occurs when the server has lost database connectivity and +is attempting to reconnect automatically. + +% MYSQL_CB_RECONNECT_ATTEMPT_SCHEDULE6 scheduling attempt %1 of %2 in %3 milliseconds +Info message issued when the server is scheduling the next attempt to reconnect +to the database. This occurs when the server has lost database connectivity and +is attempting to reconnect automatically. diff --git a/src/lib/dhcpsrv/dhcpsrv_messages.cc b/src/lib/dhcpsrv/dhcpsrv_messages.cc index 05a15a1414..f329a6c4fc 100644 --- a/src/lib/dhcpsrv/dhcpsrv_messages.cc +++ b/src/lib/dhcpsrv/dhcpsrv_messages.cc @@ -1,4 +1,4 @@ -// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Fri Nov 20 2020 15:14 +// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Fri Nov 13 2020 13:33 #include #include @@ -191,6 +191,12 @@ extern const isc::log::MessageID DHCPSRV_MYSQL_GET_VERSION = "DHCPSRV_MYSQL_GET_ extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB = "DHCPSRV_MYSQL_HOST_DB"; extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_GET_VERSION = "DHCPSRV_MYSQL_HOST_DB_GET_VERSION"; extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_READONLY = "DHCPSRV_MYSQL_HOST_DB_READONLY"; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED = "DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED"; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE = "DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE"; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_RECONNECT_FAILED = "DHCPSRV_MYSQL_HOST_DB_RECONNECT_FAILED"; +extern const isc::log::MessageID DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED = "DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED"; +extern const isc::log::MessageID DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE = "DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE"; +extern const isc::log::MessageID DHCPSRV_MYSQL_LEASE_DB_RECONNECT_FAILED = "DHCPSRV_MYSQL_LEASE_DB_RECONNECT_FAILED"; extern const isc::log::MessageID DHCPSRV_MYSQL_NEGATIVE_LEASES_STAT = "DHCPSRV_MYSQL_NEGATIVE_LEASES_STAT"; extern const isc::log::MessageID DHCPSRV_MYSQL_ROLLBACK = "DHCPSRV_MYSQL_ROLLBACK"; extern const isc::log::MessageID DHCPSRV_MYSQL_START_TRANSACTION = "DHCPSRV_MYSQL_START_TRANSACTION"; @@ -232,6 +238,12 @@ extern const isc::log::MessageID DHCPSRV_PGSQL_GET_VERSION = "DHCPSRV_PGSQL_GET_ extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB = "DHCPSRV_PGSQL_HOST_DB"; extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_GET_VERSION = "DHCPSRV_PGSQL_HOST_DB_GET_VERSION"; extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_READONLY = "DHCPSRV_PGSQL_HOST_DB_READONLY"; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED = "DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED"; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE = "DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE"; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_RECONNECT_FAILED = "DHCPSRV_PGSQL_HOST_DB_RECONNECT_FAILED"; +extern const isc::log::MessageID DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED = "DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED"; +extern const isc::log::MessageID DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE = "DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE"; +extern const isc::log::MessageID DHCPSRV_PGSQL_LEASE_DB_RECONNECT_FAILED = "DHCPSRV_PGSQL_LEASE_DB_RECONNECT_FAILED"; extern const isc::log::MessageID DHCPSRV_PGSQL_NEGATIVE_LEASES_STAT = "DHCPSRV_PGSQL_NEGATIVE_LEASES_STAT"; extern const isc::log::MessageID DHCPSRV_PGSQL_ROLLBACK = "DHCPSRV_PGSQL_ROLLBACK"; extern const isc::log::MessageID DHCPSRV_PGSQL_START_TRANSACTION = "DHCPSRV_PGSQL_START_TRANSACTION"; @@ -440,6 +452,12 @@ const char* values[] = { "DHCPSRV_MYSQL_HOST_DB", "opening MySQL hosts database: %1", "DHCPSRV_MYSQL_HOST_DB_GET_VERSION", "obtaining schema version information for the MySQL hosts database", "DHCPSRV_MYSQL_HOST_DB_READONLY", "MySQL host database opened for read access only", + "DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED", "database reconnect failed: %1", + "DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE", "scheduling attempt %1 of %2 in %3 milliseconds", + "DHCPSRV_MYSQL_HOST_DB_RECONNECT_FAILED", "maximum number of database reconnect attempts: %1, has been exhausted without success", + "DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED", "database reconnect failed: %1", + "DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE", "scheduling attempt %1 of %2 in %3 milliseconds", + "DHCPSRV_MYSQL_LEASE_DB_RECONNECT_FAILED", "maximum number of database reconnect attempts: %1, has been exhausted without success", "DHCPSRV_MYSQL_NEGATIVE_LEASES_STAT", "recount of leases returned a negative value", "DHCPSRV_MYSQL_ROLLBACK", "rolling back MySQL database", "DHCPSRV_MYSQL_START_TRANSACTION", "starting new MySQL transaction", @@ -481,6 +499,12 @@ const char* values[] = { "DHCPSRV_PGSQL_HOST_DB", "opening PostgreSQL hosts database: %1", "DHCPSRV_PGSQL_HOST_DB_GET_VERSION", "obtaining schema version information for the PostgreSQL hosts database", "DHCPSRV_PGSQL_HOST_DB_READONLY", "PostgreSQL host database opened for read access only", + "DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED", "database reconnect failed: %1", + "DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE", "scheduling attempt %1 of %2 in %3 milliseconds", + "DHCPSRV_PGSQL_HOST_DB_RECONNECT_FAILED", "maximum number of database reconnect attempts: %1, has been exhausted without success", + "DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED", "database reconnect failed: %1", + "DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE", "scheduling attempt %1 of %2 in %3 milliseconds", + "DHCPSRV_PGSQL_LEASE_DB_RECONNECT_FAILED", "maximum number of database reconnect attempts: %1, has been exhausted without success", "DHCPSRV_PGSQL_NEGATIVE_LEASES_STAT", "recount of leases returned a negative value", "DHCPSRV_PGSQL_ROLLBACK", "rolling back PostgreSQL database", "DHCPSRV_PGSQL_START_TRANSACTION", "starting a new PostgreSQL transaction", diff --git a/src/lib/dhcpsrv/dhcpsrv_messages.h b/src/lib/dhcpsrv/dhcpsrv_messages.h index 656567cb4c..fc08c25797 100644 --- a/src/lib/dhcpsrv/dhcpsrv_messages.h +++ b/src/lib/dhcpsrv/dhcpsrv_messages.h @@ -1,4 +1,4 @@ -// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Fri Oct 23 2020 14:07 +// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Fri Nov 13 2020 13:33 #ifndef DHCPSRV_MESSAGES_H #define DHCPSRV_MESSAGES_H @@ -192,6 +192,12 @@ extern const isc::log::MessageID DHCPSRV_MYSQL_GET_VERSION; extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB; extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_GET_VERSION; extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_READONLY; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE; +extern const isc::log::MessageID DHCPSRV_MYSQL_HOST_DB_RECONNECT_FAILED; +extern const isc::log::MessageID DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED; +extern const isc::log::MessageID DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE; +extern const isc::log::MessageID DHCPSRV_MYSQL_LEASE_DB_RECONNECT_FAILED; extern const isc::log::MessageID DHCPSRV_MYSQL_NEGATIVE_LEASES_STAT; extern const isc::log::MessageID DHCPSRV_MYSQL_ROLLBACK; extern const isc::log::MessageID DHCPSRV_MYSQL_START_TRANSACTION; @@ -233,6 +239,12 @@ extern const isc::log::MessageID DHCPSRV_PGSQL_GET_VERSION; extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB; extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_GET_VERSION; extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_READONLY; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE; +extern const isc::log::MessageID DHCPSRV_PGSQL_HOST_DB_RECONNECT_FAILED; +extern const isc::log::MessageID DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED; +extern const isc::log::MessageID DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE; +extern const isc::log::MessageID DHCPSRV_PGSQL_LEASE_DB_RECONNECT_FAILED; extern const isc::log::MessageID DHCPSRV_PGSQL_NEGATIVE_LEASES_STAT; extern const isc::log::MessageID DHCPSRV_PGSQL_ROLLBACK; extern const isc::log::MessageID DHCPSRV_PGSQL_START_TRANSACTION; diff --git a/src/lib/dhcpsrv/dhcpsrv_messages.mes b/src/lib/dhcpsrv/dhcpsrv_messages.mes index 4448f67c87..173e8b499d 100644 --- a/src/lib/dhcpsrv/dhcpsrv_messages.mes +++ b/src/lib/dhcpsrv/dhcpsrv_messages.mes @@ -947,6 +947,30 @@ database in read-only mode. Kea will not be able to insert or modify host reservations but will be able to retrieve existing ones and assign them to the clients communicating with the server. +% DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED database reconnect failed: %1 +An error message issued when an attempt to reconnect has failed. + +% DHCPSRV_MYSQL_HOST_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success +An error message issued when the server failed to reconnect. Loss of connectivity +is typically a network or database server issue. + +% DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE scheduling attempt %1 of %2 in %3 milliseconds +An info message issued when the server is scheduling the next attempt to reconnect +to the database. This occurs when the server has lost database connectivity and +is attempting to reconnect automatically. + +% DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED database reconnect failed: %1 +An error message issued when an attempt to reconnect has failed. + +% DHCPSRV_MYSQL_LEASE_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success +An error message issued when the server failed to reconnect. Loss of connectivity +is typically a network or database server issue. + +% DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE scheduling attempt %1 of %2 in %3 milliseconds +An info message issued when the server is scheduling the next attempt to reconnect +to the database. This occurs when the server has lost database connectivity and +is attempting to reconnect automatically. + % DHCPSRV_MYSQL_NEGATIVE_LEASES_STAT recount of leases returned a negative value This warning message is issued when the recount of leases using counters in the MySQL database returned a negative value. This shows a problem @@ -1147,6 +1171,30 @@ database in read-only mode. Kea will not be able to insert or modify host reservations but will be able to retrieve existing ones and assign them to the clients communicating with the server. +% DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED database reconnect failed: %1 +An error message issued when an attempt to reconnect has failed. + +% DHCPSRV_PGSQL_HOST_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success +An error message issued when the server failed to reconnect. Loss of connectivity +is typically a network or database server issue. + +% DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE scheduling attempt %1 of %2 in %3 milliseconds +An info message issued when the server is scheduling the next attempt to reconnect +to the database. This occurs when the server has lost database connectivity and +is attempting to reconnect automatically. + +% DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED database reconnect failed: %1 +An error message issued when an attempt to reconnect has failed. + +% DHCPSRV_PGSQL_LEASE_DB_RECONNECT_FAILED maximum number of database reconnect attempts: %1, has been exhausted without success +An error message issued when the server failed to reconnect. Loss of connectivity +is typically a network or database server issue. + +% DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE scheduling attempt %1 of %2 in %3 milliseconds +An info message issued when the server is scheduling the next attempt to reconnect +to the database. This occurs when the server has lost database connectivity and +is attempting to reconnect automatically. + % DHCPSRV_PGSQL_NEGATIVE_LEASES_STAT recount of leases returned a negative value This warning message is issued when the recount of leases using counters in the PostgreSQL database returned a negative value. This shows a problem diff --git a/src/lib/dhcpsrv/mysql_host_data_source.cc b/src/lib/dhcpsrv/mysql_host_data_source.cc index 90d16cd28b..4393e0ee88 100644 --- a/src/lib/dhcpsrv/mysql_host_data_source.cc +++ b/src/lib/dhcpsrv/mysql_host_data_source.cc @@ -2872,8 +2872,8 @@ MySqlHostDataSourceImpl::dbReconnect(ReconnectCtlPtr db_reconnect_ctl) { reopened = true; } catch (const std::exception& ex) { - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_ATTEMPT_FAILED) - // .arg(ex.what()); + LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED) + .arg(ex.what()); } if (reopened) { @@ -2885,18 +2885,18 @@ MySqlHostDataSourceImpl::dbReconnect(ReconnectCtlPtr db_reconnect_ctl) { } else { if (!db_reconnect_ctl->checkRetries()) { // We're out of retries, log it and initiate shutdown. - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_RETRIES_EXHAUSTED) - // .arg(db_reconnect_ctl->maxRetries()); + LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_HOST_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()); DatabaseConnection::invokeDbFailedCallback(db_reconnect_ctl); return (false); } - //LOG_INFO(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_ATTEMPT_SCHEDULE) - // .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) - // .arg(db_reconnect_ctl->maxRetries()) - // .arg(db_reconnect_ctl->retryInterval()); + LOG_INFO(dhcpsrv_logger, DHCPSRV_MYSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE) + .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->retryInterval()); TimerMgr::instance()->setup(db_reconnect_ctl->timerName()); } diff --git a/src/lib/dhcpsrv/mysql_lease_mgr.cc b/src/lib/dhcpsrv/mysql_lease_mgr.cc index 523aa6a656..8cf06ad4f9 100644 --- a/src/lib/dhcpsrv/mysql_lease_mgr.cc +++ b/src/lib/dhcpsrv/mysql_lease_mgr.cc @@ -1831,8 +1831,8 @@ MySqlLeaseMgr::dbReconnect(ReconnectCtlPtr db_reconnect_ctl) { reopened = true; } catch (const std::exception& ex) { - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_ATTEMPT_FAILED) - // .arg(ex.what()); + LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED) + .arg(ex.what()); } if (reopened) { @@ -1844,18 +1844,18 @@ MySqlLeaseMgr::dbReconnect(ReconnectCtlPtr db_reconnect_ctl) { } else { if (!db_reconnect_ctl->checkRetries()) { // We're out of retries, log it and initiate shutdown. - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_RETRIES_EXHAUSTED) - // .arg(db_reconnect_ctl->maxRetries()); + LOG_ERROR(dhcpsrv_logger, DHCPSRV_MYSQL_LEASE_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()); DatabaseConnection::invokeDbFailedCallback(db_reconnect_ctl); return (false); } - //LOG_INFO(dhcpsrv_logger, DHCPSRV_MYSQL_DB_RECONNECT_ATTEMPT_SCHEDULE) - // .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) - // .arg(db_reconnect_ctl->maxRetries()) - // .arg(db_reconnect_ctl->retryInterval()); + LOG_INFO(dhcpsrv_logger, DHCPSRV_MYSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE) + .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->retryInterval()); TimerMgr::instance()->setup(db_reconnect_ctl->timerName()); } diff --git a/src/lib/dhcpsrv/pgsql_host_data_source.cc b/src/lib/dhcpsrv/pgsql_host_data_source.cc index d240a7fa54..ea7ef6bf3e 100644 --- a/src/lib/dhcpsrv/pgsql_host_data_source.cc +++ b/src/lib/dhcpsrv/pgsql_host_data_source.cc @@ -2308,8 +2308,8 @@ PgSqlHostDataSourceImpl::dbReconnect(ReconnectCtlPtr db_reconnect_ctl) { reopened = true; } catch (const std::exception& ex) { - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_PGSQL_DB_RECONNECT_ATTEMPT_FAILED) - // .arg(ex.what()); + LOG_ERROR(dhcpsrv_logger, DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_FAILED) + .arg(ex.what()); } if (reopened) { @@ -2321,18 +2321,18 @@ PgSqlHostDataSourceImpl::dbReconnect(ReconnectCtlPtr db_reconnect_ctl) { } else { if (!db_reconnect_ctl->checkRetries()) { // We're out of retries, log it and initiate shutdown. - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_PGSQL_DB_RECONNECT_RETRIES_EXHAUSTED) - // .arg(db_reconnect_ctl->maxRetries()); + LOG_ERROR(dhcpsrv_logger, DHCPSRV_PGSQL_HOST_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()); DatabaseConnection::invokeDbFailedCallback(db_reconnect_ctl); return (false); } - //LOG_INFO(dhcpsrv_logger, DHCPSRV_PGSQL_DB_RECONNECT_ATTEMPT_SCHEDULE) - // .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) - // .arg(db_reconnect_ctl->maxRetries()) - // .arg(db_reconnect_ctl->retryInterval()); + LOG_INFO(dhcpsrv_logger, DHCPSRV_PGSQL_HOST_DB_RECONNECT_ATTEMPT_SCHEDULE) + .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->retryInterval()); TimerMgr::instance()->setup(db_reconnect_ctl->timerName()); } diff --git a/src/lib/dhcpsrv/pgsql_lease_mgr.cc b/src/lib/dhcpsrv/pgsql_lease_mgr.cc index 8687980ccd..54aa910a5c 100644 --- a/src/lib/dhcpsrv/pgsql_lease_mgr.cc +++ b/src/lib/dhcpsrv/pgsql_lease_mgr.cc @@ -1265,8 +1265,8 @@ PgSqlLeaseMgr::dbReconnect(ReconnectCtlPtr db_reconnect_ctl) { reopened = true; } catch (const std::exception& ex) { - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_PGSQL_DB_RECONNECT_ATTEMPT_FAILED) - // .arg(ex.what()); + LOG_ERROR(dhcpsrv_logger, DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_FAILED) + .arg(ex.what()); } if (reopened) { @@ -1278,18 +1278,18 @@ PgSqlLeaseMgr::dbReconnect(ReconnectCtlPtr db_reconnect_ctl) { } else { if (!db_reconnect_ctl->checkRetries()) { // We're out of retries, log it and initiate shutdown. - //LOG_ERROR(dhcpsrv_logger, DHCPSRV_PGSQL_DB_RECONNECT_RETRIES_EXHAUSTED) - // .arg(db_reconnect_ctl->maxRetries()); + LOG_ERROR(dhcpsrv_logger, DHCPSRV_PGSQL_LEASE_DB_RECONNECT_FAILED) + .arg(db_reconnect_ctl->maxRetries()); DatabaseConnection::invokeDbFailedCallback(db_reconnect_ctl); return (false); } - //LOG_INFO(dhcpsrv_logger, DHCPSRV_PGSQL_DB_RECONNECT_ATTEMPT_SCHEDULE) - // .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) - // .arg(db_reconnect_ctl->maxRetries()) - // .arg(db_reconnect_ctl->retryInterval()); + LOG_INFO(dhcpsrv_logger, DHCPSRV_PGSQL_LEASE_DB_RECONNECT_ATTEMPT_SCHEDULE) + .arg(db_reconnect_ctl->maxRetries() - db_reconnect_ctl->retriesLeft() + 1) + .arg(db_reconnect_ctl->maxRetries()) + .arg(db_reconnect_ctl->retryInterval()); TimerMgr::instance()->setup(db_reconnect_ctl->timerName()); }