Pause the catz dbiterator while processing the zone

The dbiterator read-locks the whole zone and it stayed locked during
whole processing time when catz is being read.  Pause the iterator, so
the updates to catz zone are not being blocked while processing the catz
update.

(cherry picked from commit 4e7187601f)
This commit is contained in:
Ondřej Surý 2023-02-23 11:10:39 +01:00 committed by Arаm Sаrgsyаn
parent d13e7472ea
commit 8b059b211f

View file

@ -2306,6 +2306,9 @@ dns__catz_update_cb(void *data) {
break;
}
result = dns_dbiterator_pause(it);
RUNTIME_CHECK(result == ISC_R_SUCCESS);
if (!is_vers_processed) {
/* Keep the version node to skip it later in the loop */
vers_node = node;