<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Hello,</p>
<p>I'm using getdns in stub mode with more than 1 upstream servers
(over UDP)<br>
configured in the context. Some of the observations that i have:</p>
<ul>
<li>Every time a udp request times out, the back_off is multiplied
by 2 and another server is chosen. But if the response is
received from the server then the back_off value is never reset.
In case there is a timeout again, It continues with the previous
back_off value. i would like to propose to reset the back_off to
0 as soon as the server becomes available.</li>
<li>If all upstreams are failing, the upstream with the smallest
back_off value will be selected, and the back_off value
decremented by one. In this scenario servers can also be retried
in the round robin fashion to give them equal chance because one
of the server might have large back_off value and will not be
tried even though it has become available again. Or make it
configurable to choose one of the above behavior.</li>
<li>In the latest release a feature was added "More fine grained
control over TLS upstream retry and back off behavior with
getdns_context_set_tls_backoff_time() and
getdns_context_set_tls_connection_retries().". I would like to
propose to add similar back_off time and retries for over UDP
as well.</li>
</ul>
<p>Regards,</p>
<p>Shikha Sharma<br>
</p>
</body>
</html>