You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently stale cache will be used only when all downstream servers are not available.
If any downstream server is still available, today dnsdist will foward the query to the selected server.
If that query fails for any reason, timeout or error response, there is currently no chance to still go back and use the existed stale cache.
The feature request is to provide an option so that it can choose to go back to use the stale cache (if existed) if the forwarded query failed.
Usecase
This is trying to shorten the possible query failing period for the client side. If a cache is expired it is reasonable to firstly forward query to available downstream server. However, if that query fails, and cache is still within stale TTL, sending the cached result is possibly a better solution.
Description
The scenario would be like followings:
Client sends a DNS query to dnsdist
dnsdist looks up cache (if enabled), and found a cache, which is expired, but within stale TTL
dnsdist shall continue forward the query to selected downstream server
while if any failure happens for this particular query, dnsdist can go back lookup cache again (or save the first lookup result in the query), and use the cached result as response to send back to client.
This can be made as an optional feature so that user can configure if the stale cache shall be used in such situation or not.
The text was updated successfully, but these errors were encountered:
Thank you for opening this feature request. I have to say that I'm not convinced this would actually be useful because:
if the server does not respond and dnsdist detects a timeout, in my experience it is already too late, the initial client has given up or sent a new query already
it would only be useful if the server is failing in a way that is not detected by the health-check mechanism. If it happens, perhaps we can look into improving the health-check mechanism instead.
Thank you for quick reply on this!
In my view it is arguable for the two points that you mentioned:
what if a user set client side timeout greater than the timeout at dnsdist? then the stale cache has its value
error response would come back very fast while health check takes at least a few seconds with a reasonable threshold, many qureies may get failure response in these seconds, even a stale cache is available and most likely with the right answer
In this sense, a service like dnsdist role could provide better expericence for different user needs.
Uh oh!
There was an error while loading. Please reload this page.
Short description
Currently stale cache will be used only when all downstream servers are not available.
If any downstream server is still available, today dnsdist will foward the query to the selected server.
If that query fails for any reason, timeout or error response, there is currently no chance to still go back and use the existed stale cache.
The feature request is to provide an option so that it can choose to go back to use the stale cache (if existed) if the forwarded query failed.
Usecase
This is trying to shorten the possible query failing period for the client side. If a cache is expired it is reasonable to firstly forward query to available downstream server. However, if that query fails, and cache is still within stale TTL, sending the cached result is possibly a better solution.
Description
The scenario would be like followings:
This can be made as an optional feature so that user can configure if the stale cache shall be used in such situation or not.
The text was updated successfully, but these errors were encountered: