On 4/17/24 5:49 AM, Peter Davies wrote:
Hi Brendan,
It is not possible to see any details from this logging.
You should check your haproxy configuration, Kea cannot continue
processing
requests if it is unable to connect to the lease database.
I suggest that you temporarily enable Severity DEBUG and debuglevel 99
so you
can see requests and how Kea is processing them.
As all your reservations are global, you should define
"reservations-global": true,"
the default is false.
All pools are guarded by client classes. The client may not be
associated with
any of these classes.
/Peter
digging back into the database issue, i found the following messages in
"journactl -lu kea-dhcp4":
Oct 15 20:34:43 server1 systemd[1]: Started kea-dhcp4.service - Kea
DHCPv4 Server.
Oct 15 20:34:43 server1 kea-dhcp4[1930]: 2024-10-15 20:34:43.848
INFO [kea-dhcp4.dhcp4/1930.140675063382400] DHCP4_STARTING Kea
DHCPv4 server version 2.4.0 (stable) starting
Oct 16 03:24:44 server1 kea-dhcp4[1930]: 2024-10-16 03:24:44.303
ERROR [kea-dhcp4.database/1930.140675063382400]
DATABASE_MYSQL_FATAL_ERROR Unrecoverable MySQL error occurred:
unable to execute for <SELECT a.id, a.object_type, a.object_id,
a.modification_type, r.modification_ts, r.id, r.log_message FROM
dhcp4_audit AS a INNER JOIN dhcp4_audit_revision AS r ON
a.revision_id = r.id INNER JOIN dhcp4_server AS s ON r.server_id =
s.id WHERE (s.tag = ? OR s.id = 1) AND ((r.modification_ts, r.id) >
(?, ?)) ORDER BY r.modification_ts, r.id>, reason: Lost connection
to server during query (error code: 2013).
Oct 16 03:24:44 server1 kea-dhcp4[1930]: 2024-10-16 03:24:44.303
ERROR [kea-dhcp4.dhcp4/1930.140675063382400]
DHCP4_CB_PERIODIC_FETCH_UPDATES_FAIL error on periodic attempt to
fetch configuration updates from the configuration backend(s): fatal
database error or connectivity lost
Oct 16 03:24:44 server1 systemd[1]: kea-dhcp4.service: Main process
exited, code=exited, status=1/FAILURE
Oct 16 03:24:44 server1 systemd[1]: kea-dhcp4.service: Failed with
result 'exit-code'.
Oct 16 03:24:44 server1 systemd[1]: kea-dhcp4.service: Consumed
14.206s CPU time.
there is a select statement in the logs that failed and killed the
instance. i took the select statement in the logs and ran it in a
mariadb client, phpMyAdmin. when i submitted the query, i got the
following error info back:
Error
Static analysis:
3 errors were found during analysis.
Variable name was expected. (near "?" at position 261)
Variable name was expected. (near "?" at position 310)
Variable name was expected. (near "?" at position 313)
SQL query: Copy Documentation
SELECT a.id, a.object_type, a.object_id, a.modification_type,
r.modification_ts, r.id, r.log_message FROM dhcp4_audit AS a INNER
JOIN dhcp4_audit_revision AS r ON a.revision_id = r.id INNER JOIN
dhcp4_server AS s ON r.server_id = s.id WHERE (s.tag = ? OR s.id =
1) AND ((r.modification_ts, r.id) > (?, ?)) ORDER BY
r.modification_ts, r.id LIMIT 0, 25
MySQL said: Documentation
#1064 - You have an error in your SQL syntax; check the manual that
corresponds to your MariaDB server version for the right syntax to
use near '? OR s.id = 1) AND ((r.modification_ts, r.id) > (?, ?))
ORDER BY r.modificati...' at line 1
the problem is not my database or connectivity to it. the issues is a
malformed query, that uses question marks ( ? ) which seem to be invalid
characters. i logged into the database using the mysql command line
client and issued the same query, to be sure the error was not related
to something in phpMyAdmin, and i got the following error info back:
MariaDB [kea]> SELECT a.id, a.object_type, a.object_id,
a.modification_type, r.modification_ts, r.id, r.log_message FROM
dhcp4_audit AS a INNER JOIN dhcp4_audit_revision AS r ON
a.revision_id = r.id INNER JOIN dhcp4_server AS s ON r.server_id =
s.id WHERE (s.tag = ? OR s.id = 1) AND ((r.modification_ts, r.id) >
(?, ?)) ORDER BY r.modification_ts, r.id;
ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MariaDB server version for the right
syntax to use near '? OR s.id = 1) AND ((r.modification_ts, r.id) >
(?, ?)) ORDER BY r.modificati...' at line 1
from the looks of things, there is a malformed query and the error
causes the kea instance to fail. is there a "dialect" issue with the
way the db query is formulated/constructed in kea for mariadb vs
postgresql? i dont have a postgresql instance handy to test against.
given the ERROR, not WARNING, status of the log message, i would assume
that the malformed query causes the resulting failure of the instance
because kea cannot continue. how do i figure a way past these errors?
thanks,
brendan
--
ISC funds the development of this software with paid support subscriptions.
Contact us at https://www.isc.org/contact/ for more information.
To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users.
Kea-users mailing list
Kea-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/kea-users