]> 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)
committerAram Sargsyan <aram@isc.org>
Mon, 13 Mar 2023 11:57:00 +0000 (11:57 +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.

(cherry picked from commit fa686fcea5df03a8a9d696fbfe6f2e11d72ee3ed)

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