mirage / ocaml-dns

OCaml implementation of the DNS protocol
BSD 2-Clause "Simplified" License
105 stars 43 forks source link

secondary server, mirage layer #347

Closed hannesm closed 11 months ago

hannesm commented 12 months ago

If there's a (Dns_server.Secondary.)timer-triggered connection request, do not infinitely try to connect (via request -> fail -> close -> request) in a tight loop, but cancel on first sight (the timer is responsible for re-connecting)

I'm in the process of testing this in production.

hannesm commented 12 months ago

I think the entire dns_server_mirage and dns_mirage logic may need an overhaul with a view on when which failures may arise, and how to properly handle them (to avoid such tight loops). maybe timer is the only thing, though...

reynir commented 11 months ago

I think this improves the situation so I will merge. If there are unintended effects we can revisit.