mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-29 13:38:26 +00:00
Handling NoNameservers exception
In the shutdown system test multiple queries are sent to a resolver instance, in the meantime we terminate the same resolver process for which the queries were sent to, either via rndc stop or a SIGTERM signal, that means the resolver may not be able to answer all those queries, since it has initiated the shutdown process. The dnspython library raises a dns.resolver.NoNameservers exception when a resolver object fails to receive an answer from the specified list of nameservers (resolver.nameservers list), we need to handle this exception as this is something that may happen since we asked the resolver to terminate, as a result it may not answer clients even if an answer is available, as the operation will be canceled.
This commit is contained in:
parent
91cd1ef9ff
commit
b19cd2d83b
@ -98,7 +98,6 @@ def do_work(named_proc, resolver, rndc_cmd, kill_method, n_workers, n_queries):
|
||||
futures[executor.submit(launch_rndc, ['stop'])] = 'stop'
|
||||
else:
|
||||
futures[executor.submit(named_proc.terminate)] = 'kill'
|
||||
|
||||
else:
|
||||
# We attempt to send couple rndc commands while named is
|
||||
# being shutdown
|
||||
@ -117,7 +116,9 @@ def do_work(named_proc, resolver, rndc_cmd, kill_method, n_workers, n_queries):
|
||||
if futures[future] == "stop":
|
||||
ret_code = result
|
||||
|
||||
except (dns.resolver.NXDOMAIN, dns.exception.Timeout):
|
||||
except (dns.resolver.NXDOMAIN,
|
||||
dns.resolver.NoNameservers,
|
||||
dns.exception.Timeout):
|
||||
pass
|
||||
|
||||
if kill_method == "rndc":
|
||||
|
Loading…
x
Reference in New Issue
Block a user