Commit b1aadf6f36 for bind

commit b1aadf6f36dc107db44c73f433597097c1e89a56
Author: OndÅ™ej Surý <ondrej@isc.org>
Date:   Fri Sep 18 08:19:16 2026 +0200

    Finish RPZ compaction after bulk updates

    RPZ reloads use bulk transactions and may be followed by no further
    writes, leaving incremental compaction to wait for the next reload.
    Complete it in the transaction that finishes an update, so garbage
    does not depend on later reloads for reclamation.

diff --git a/lib/dns/rpz.c b/lib/dns/rpz.c
index d73750be4c..3bd0c50f28 100644
--- a/lib/dns/rpz.c
+++ b/lib/dns/rpz.c
@@ -1979,7 +1979,6 @@ update_nodes(dns_rpz_zone_t *rpz, dns_db_t *db, dns_dbversion_t *dbversion,
 	}

 done:
-	dns_qp_compact(qp, DNS_QPGC_MAYBE);
 	dns_qpmulti_commit(rpz->rpzs->table, &qp);
 	UNLOCK(&rpz->rpzs->data_lock);

@@ -2028,7 +2027,8 @@ cleanup_nodes(dns_rpz_zone_t *rpz) {
 		result = ISC_R_SUCCESS;
 	}

-	dns_qp_compact(qp, DNS_QPGC_MAYBE);
+	/* There may be no later writes to finish incremental compaction. */
+	dns_qp_compact(qp, DNS_QPGC_NOW);
 	dns_qpmulti_commit(rpz->rpzs->table, &qp);

 	isc_ht_iter_destroy(&iter);