]> 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:43 +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 a630c3b6ba61f26011d05e3d926e50aef55468c8..0724a492874a331adf5f236474d6ba468ebc1595 100644 (file)
@@ -670,6 +670,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