Add test case for nsupdate hangs on large update

This test case hangs, despite the update being performed on the
name server.

(cherry picked from commit 3adabb4f89)
This commit is contained in:
Matthijs Mekking
2024-11-01 13:23:20 +01:00
parent 336e9c746e
commit cc004b2b8f
3 changed files with 41 additions and 0 deletions

View File

@@ -0,0 +1,14 @@
; Copyright (C) Internet Systems Consortium, Inc. ("ISC")
;
; SPDX-License-Identifier: MPL-2.0
;
; This Source Code Form is subject to the terms of the Mozilla Public
; License, v. 2.0. If a copy of the MPL was not distributed with this
; file, you can obtain one at https://mozilla.org/MPL/2.0/.
;
; See the COPYRIGHT file distributed with this work for additional
; information regarding copyright ownership.
many-updates.test. 10 IN SOA many-updates.test. hostmaster.many-updates.test. 1 3600 900 2419200 3600
many-updates.test. 10 IN NS many-updates.test.
many-updates.test. 10 IN A 10.53.0.3

View File

@@ -91,6 +91,13 @@ zone "too-big.test" {
file "too-big.test.db";
};
zone "many-updates.test" {
type primary;
allow-update { any; };
file "many-updates.test.db";
};
/* Zone for testing CDS and CDNSKEY updates from other provider */
zone "multisigner.test" {
type primary;

View File

@@ -587,6 +587,26 @@ EOF
status=1
}
n=$((n + 1))
ret=0
i=0
echo_i "check that nsupdate does not hang when processing a large number of updates interactively ($n)"
{
echo "server 10.53.0.3 ${PORT}"
echo "zone many-updates.test."
while [ $i -le 2000 ]; do
echo "update add host$i.many-updates.test. 3600 IN TXT \"host $i\""
i=$((i + 1))
done
echo "send"
} | $NSUPDATE
echo_i "query for host2000.many-updates.test ($n)"
retry_quiet 5 has_positive_response host2000.many-updates.test TXT 10.53.0.3 || ret=1
[ $ret = 0 ] || {
echo_i "failed"
status=1
}
n=$((n + 1))
ret=0
echo_i "start NSEC3PARAM changes via UPDATE on a unsigned zone test ($n)"