bind9/bin/tests/system/dyndb
Ondřej Surý 231b2375e5
Create a second pruning task for rbtdb with unlimited quantum
Previously, rbtdb->task had quantum of 1 because it was originally used
just for freeing RBTDB contents, which can happen on a "best effort"
basis (does not need to be prioritized).  However, when tree pruning was
implemented, it also started sending events to that task, enabling the
latter to become clogged up with a significant event backlog because it
only pruned a single RBTDB node per event.

To prioritize tree pruning (as it is necessary for enforcing the
configured memory use limit for the cache memory context), create a
second task with a virtually unlimited quantum (UINT_MAX) and send the
tree-pruning events to this new task, to ensure that all nodes scheduled
for pruning will be processed before further nodes are queued in a
similar fashion.

This change enables dropping the prunenodes list and restoring the
originally-used logic that allocates and sends a separate event for each
node to prune.
2024-03-06 17:11:14 +01:00
..
driver Create a second pruning task for rbtdb with unlimited quantum 2024-03-06 17:11:14 +01:00
ns1 explicitly set dnssec-validation in system tests 2023-06-26 15:03:06 -07:00
clean.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
prereq.sh Reformat shell scripts with shfmt 2023-10-26 13:05:00 +02:00
setup.sh Update the copyright information in all files in the repository 2022-01-11 09:05:02 +01:00
tests.sh Reformat shell scripts with shfmt 2023-10-26 13:05:00 +02:00
tests_sh_dyndb.py Add pytest functions for shell system tests 2023-05-23 16:55:26 +02:00