to the database to discover the pending configuration updates. The
default value of the ``config-fetch-wait-time`` is 30 seconds.
-To trigger an immediate polling the ``server-update`` command is
-available for both DHCPv4 and DHCPv6 servers since the 1.7.1 Kea
-release.
+The ``server-update`` command can be used to force the server to
+immediately poll the configuration changes from the database and avoid
+waiting for the next fetch cycle. The command was added in 1.7.1 Kea
+release for DHCPv4 and DHCPv6 servers.
Finally, in the configuration example above, two hooks libraries are
loaded. The first, ``libdhcp_mysql_cb.so``, is the implementation of
server_->getCBControl()->databaseConfigFetch(srv_cfg, mode);
} catch (const std::exception& ex) {
LOG_ERROR(dhcp4_logger, DHCP4_CB_FETCH_UPDATES_FAIL)
+ .arg("server-update command")
.arg(ex.what());
return (createAnswer(CONTROL_RESULT_ERROR,
"Server update failed: " + string(ex.what())));
} catch (const std::exception& ex) {
LOG_ERROR(dhcp4_logger, DHCP4_CB_FETCH_UPDATES_FAIL)
+ .arg("periodic poll")
.arg(ex.what());
// We allow at most 10 consecutive failures after which we stop
-// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Wed Jul 10 2019 15:10
+// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Fri Oct 25 2019 16:40
#include <cstddef>
#include <log/message_types.h>
"DHCP4_BUFFER_RECEIVE_FAIL", "error on attempt to receive packet: %1",
"DHCP4_BUFFER_UNPACK", "parsing buffer received from %1 to %2 over interface %3",
"DHCP4_BUFFER_WAIT_SIGNAL", "signal received while waiting for next packet, next waiting signal is %1",
- "DHCP4_CB_FETCH_UPDATES_FAIL", "error on attempt to fetch configuration updates from the configuration backend(s): %1",
+ "DHCP4_CB_FETCH_UPDATES_FAIL", "error on attempt to fetch configuration updates from the configuration backend(s) for %1: %2",
"DHCP4_CB_FETCH_UPDATES_RETRIES_EXHAUSTED", "maximum number of configuration fetch attempts: 10, has been exhausted without success",
"DHCP4_CLASS_ASSIGNED", "%1: client packet has been assigned to the following class(es): %2",
"DHCP4_CLASS_UNCONFIGURED", "%1: client packet belongs to an unconfigured class: %2",
-// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Wed Jul 10 2019 15:10
+// File created from ../../../src/bin/dhcp4/dhcp4_messages.mes on Fri Oct 25 2019 16:40
#ifndef DHCP4_MESSAGES_H
#define DHCP4_MESSAGES_H
waiting for next packets. The argument specifies the next signal to
be handled by the server.
-% DHCP4_CB_FETCH_UPDATES_FAIL error on attempt to fetch configuration updates from the configuration backend(s): %1
+% DHCP4_CB_FETCH_UPDATES_FAIL error on attempt to fetch configuration updates from the configuration backend(s) for %1: %2
This error message is issued when the server attempted to fetch
configuration updates from the database and this attempt failed.
-The server will re-try according to the configured value of the
-config-fetch-wait-time parameter. The sole argument contains the
-reason for failure.
+If the error happens during periodic poll, the server will re-try
+according to the configured value of the config-fetch-wait-time
+parameter. The arguments contain the fetch context, i.e. during
+periodic poll or by the server-update command, and the reason for
+failure.
% DHCP4_CB_FETCH_UPDATES_RETRIES_EXHAUSTED maximum number of configuration fetch attempts: 10, has been exhausted without success
This error indicates that the server has made a number of unsuccessful
server_->getCBControl()->databaseConfigFetch(srv_cfg, mode);
} catch (const std::exception& ex) {
LOG_ERROR(dhcp6_logger, DHCP6_CB_FETCH_UPDATES_FAIL)
+ .arg("server-update command")
.arg(ex.what());
return (createAnswer(CONTROL_RESULT_ERROR,
"Server update failed: " + string(ex.what())));
} catch (const std::exception& ex) {
LOG_ERROR(dhcp6_logger, DHCP6_CB_FETCH_UPDATES_FAIL)
+ .arg("periodic poll")
.arg(ex.what());
// We allow at most 10 consecutive failures after which we stop
-// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Tue Jul 16 2019 11:03
+// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Fri Oct 25 2019 16:41
#include <cstddef>
#include <log/message_types.h>
-// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Tue Jul 16 2019 11:03
+// File created from ../../../src/bin/dhcp6/dhcp6_messages.mes on Fri Oct 25 2019 16:41
#ifndef DHCP6_MESSAGES_H
#define DHCP6_MESSAGES_H
% DHCP6_CB_FETCH_UPDATES_FAIL error on attempt to fetch configuration updates from the configuration backend(s): %1
This error message is issued when the server attempted to fetch
configuration updates from the database and this attempt failed.
-The server will re-try according to the configured value of the
-config-fetch-wait-time parameter. The sole argument contains the
-reason for failure.
+If the error happens during periodic poll, the server will re-try
+according to the configured value of the config-fetch-wait-time
+parameter. The arguments contain the fetch context, i.e. during
+periodic poll or by the server-update command, and the reason for
+failure.
% DHCP6_CB_FETCH_UPDATES_RETRIES_EXHAUSTED maximum number of configuration fetch attempts: 10, has been exhausted without success
This error indicates that the server has made a number of unsuccessful