Open warner opened 4 years ago
One call to dig $DYNDNS_NAME
on a remote machine resulted in six LOOKUP
log messages: error, ok, error, ok, error, ok. The dig command itself reported success, which makes me think the program is only sending one response, or at least the errors aren't escaping the program.
Looking at my logs, I see a funny series of errors just after the server was rebooted. The client took two and a half minutes to reconnect (not sure why, I might have been rebooting it at the same time). During that time, something was querying (and thus failing) the dyndns name quickly: 10-12 times per second, for three seconds, then some more bursts a bit later. When the client finally did reconnect (and updated the dyndns entry), the subsequent bursts of queries were given a mixture of successful responses and DomainError responses. Both were for
A
record lookups (there were also queries for other records, but of course all of those failed, as expected).I'm seeing this "one A fails, other A works" pattern linger for a long time, at least an hour and a half after the dyndns entry was established. In fact, since the dyndns address is looked up so infrequently, I'm not seeing any period of entirely-successful
A
record lookups.It's as if there's a cache involved that's only consulted half the time, but I didn't deliberately enable any caches, and I did a pass through
DNSServerFactory
and it doesn't automatically add any itself.Maybe I'm subclassing
FileAuthority
badly, and I'm somehow making two queries per query: one to the dynamic records I added, and a second to theFile
that's not actually wired up. So maybe each client's query is being given two responses, rather than every other query getting a different response.