Increase the timeout to 15 seconds for the resolver test

1. 10 seconds is an unfortunate pick because that reintroduces the
   problem described in commit 5307bf64 (for an earlier check).

   Change the +tries=3 +timeout=10 to +tries=2 +time=15, so that we
   minimize the risk of dig missing any responses sent by the server in
   the first 15 seconds while also increasing our chances of the
   response arriving in time on machines under heavy load and allowing
   it a single retry in case things go awry.

2. The comment about TCP above was misleading: as painfully proven by
   GitLab CI, using TCP is no guarantee of receiving a response in a
   timely manner.  It may help a bit, but it is certainly not a 100%
   reliable solution.

   Change the dig invocation to just use UDP like in the two prior
   tests for consistency (and revise that comment accordingly).
This commit is contained in:
Ondřej Surý
2022-01-14 12:27:19 +01:00
parent 70596240c4
commit d3b975abb6

View File

@@ -837,9 +837,8 @@ echo_i "check that SERVFAIL is returned for an empty question section via TCP ($
ret=0
nextpart ns5/named.run > /dev/null
# bind to local address so that addresses in log messages are consistent
# between platforms; use tcp to get SERVFAIL rather than timeout on slow
# machines
dig_with_opts @10.53.0.5 -b 10.53.0.5 +tcp tcpalso.no-questions. a +tries=3 +timeout=10 > dig.ns5.out.${n} || ret=1
# between platforms
dig_with_opts @10.53.0.5 -b 10.53.0.5 tcpalso.no-questions. a +tries=2 +timeout=15 > dig.ns5.out.${n} || ret=1
grep "status: SERVFAIL" dig.ns5.out.${n} > /dev/null || ret=1
check_namedrun() {
nextpartpeek ns5/named.run > nextpart.out.${n}