]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Improve dnstap system test reliability
authorAram Sargsyan <aram@isc.org>
Fri, 10 Mar 2023 11:07:13 +0000 (11:07 +0000)
committerArаm Sаrgsyаn <aram@isc.org>
Mon, 13 Mar 2023 10:25:01 +0000 (10:25 +0000)
The dnstap system test fails intermittently, and it appears to be
a timing issue - adding a short delay after running 'fstrm_capture',
and before running 'dnstap -reopen' improves the situation from
50% failures (5 out of 10 times) to 0% failures (0 out of 20 times),
tested locally.

The reason is that 'fstrm_capture' is executed in the background,
and due to OS scheduling and other factors, the listener socket
may not be ready when the following command runs and tells 'named'
to (re)open it.

bin/tests/system/dnstap/tests.sh

index 27fd1ccfebf1b63b26ee5f08b5bcfdcd5e21e0f2..5ed1d94c3cd90e9ff8e42c0fd52331b8ed440d03 100644 (file)
@@ -669,6 +669,7 @@ EOF
        $FSTRM_CAPTURE -t protobuf:dnstap.Dnstap -u ns4/dnstap.out \
                -w dnstap.out > fstrm_capture.out 2>&1 &
        fstrm_capture_pid=$!
+       sleep 1
        $RNDCCMD -s 10.53.0.4 dnstap -reopen | sed 's/^/ns4 /' | cat_i
        $DIG $DIGOPTS @10.53.0.4 a.example > dig.out