]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Wait until a cache dump completes instead of waiting for a fixed amount of time
authorMichał Kępień <michal@isc.org>
Tue, 20 Feb 2018 12:59:28 +0000 (13:59 +0100)
committerMichał Kępień <michal@isc.org>
Tue, 20 Feb 2018 12:59:28 +0000 (13:59 +0100)
Dumping the cache is an asynchronous operation, so sleeping for a fixed
amount of time after running "rndc dumpdb" is imperfect as dumping cache
contents may take longer than expected on slower machines.  Instead of
always sleeping for 1 second, wait until the "; Dump complete" line
appears in the dump or 10 seconds pass, whichever comes first.

bin/tests/system/cacheclean/tests.sh

index 9f69e00510bb39fb11b8c86ddc4a3ee2968fbaca..002f61f3efad88fe5dc8c30826676a704f1677aa 100644 (file)
@@ -57,7 +57,11 @@ EOF
 
 dump_cache () {
         $RNDC $RNDCOPTS dumpdb -cache _default
-        sleep 1
+        for i in 0 1 2 3 4 5 6 7 8 9
+        do
+                grep '^; Dump complete$' ns2/named_dump.db > /dev/null && break
+                sleep 1
+        done
         mv ns2/named_dump.db ns2/named_dump.db.$n
 }