// 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);
// 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);
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();
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
// 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);
// 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);
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();
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
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) {
} 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());
}
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) {
} 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());
}
-// 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 <cstddef>
#include <log/message_types.h>
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";
"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",
-// 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
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;
% 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.
-// 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 <cstddef>
#include <log/message_types.h>
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";
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";
"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",
"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",
-// 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
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;
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;
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
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
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) {
} 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());
}
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) {
} 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());
}
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) {
} 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());
}
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) {
} 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());
}