Add CHANGES and release notes for #4411

It is worthwile mentioning the switch to qp-tries.
This commit is contained in:
Matthijs Mekking
2024-03-05 16:53:22 -08:00
committed by Evan Hunt
parent b156167620
commit d3f41260af
2 changed files with 36 additions and 1 deletions
+24 -1
View File
@@ -1,3 +1,25 @@
6354. [func] The red-black tree data structure underlying the
RBTDB has been replaced with QP-tries. This is
expected to improve scalability and reduce
CPU consumption under load. It is currently known to
have higher memory consumption than RBTDB; this
will be addressed in future releases.
Nodes in a QP-trie contain the full domain name,
while nodes in a red-black tree only contain names
relative to a parent. Because of this difference,
zone files dumped with masterfile-style "relative"
will no longer have multiple different $ORIGIN
statements throughout the file.
This version is a minimal adaptation, keeping RBTDB
code largely unchanged, except as needed to replace
the underlying data structure. It uses the
single-thread "dns_qp" interface with locks for
synchronization. A future version will use the
multithreaded "dns_qpmulti" interface instead,
and will be renamed to QPDB. [GL #4411]
6353. [bug] Improve the TTL-based cleaning by removing the expired
headers from the heap, so they don't block the next
cleaning round and clean more than a single item for
@@ -29,7 +51,8 @@
6345. [bug] Added missing dns_rdataset_disassociate calls in
validator.c:findnsec3proofs. [GL #4571]
6344. [placeholder]
6344. [bug] Fix case insensitive setting for isc_ht hashtable.
[GL #4568]
6343. [bug] Fix case insensitive setting for isc_ht hashtable.
[GL #4568]
+12
View File
@@ -53,6 +53,18 @@ Feature Changes
operationally required, then please consider using ``dnssec-validation auto``
instead. :gl:`#4373`
- The red-black tree data structure used in the RBTDB (the default
database implementation for cache and zone databases),
has been replaced with QP-tries. This is expected to improve
performance and scalability, though in the current implementation
it is known to have larger memory consumption.
A side effect of this change is that zone files that are created with
:any:`masterfile-style` ``relative`` - for example, the output of
:any:`dnssec-signzone` - will no longer have multiple different
`$ORIGIN` statements. There should be no other behavior changes to
server behavior. :gl:`#4411`.
Bug Fixes
~~~~~~~~~