]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Add CHANGES and release notes for #4411
authorMatthijs Mekking <matthijs@isc.org>
Mon, 12 Feb 2024 14:05:21 +0000 (15:05 +0100)
committerMatthijs Mekking <matthijs@isc.org>
Wed, 6 Mar 2024 09:49:02 +0000 (10:49 +0100)
It is worthwile mentioning the switch to qp-tries.

CHANGES
doc/notes/notes-current.rst

diff --git a/CHANGES b/CHANGES
index 73699d4d22345750100fd6043c84b3ca05b6ebc8..5160fd086ecede4f57cdac024aaea2c8c4c7abf0 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,25 @@
+6355.  [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]
+
 6354.  [bug]           Change 6035 introduced a regression when chasing DS
                        records resulting in an assertion failure. [GL #4612]
 
@@ -32,7 +54,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]
index 2e9582ddb2782493795be52373208044bf0d78ba..892ef552b3905a6b7eb2ee9070f29f9aa9621707 100644 (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
 ~~~~~~~~~