Serve-expired setting



  • Just noticed what appears to be a new feature in 2.4.1 DNS Resolver Advanced settings - "serve-expired".

    Explanation is:
    "When enabled, allows unbound to serve one query even with a TTL of 0, if TTL is 0 then new record will be requested in the background when the cache is served to ensure cache is updated without latency on service of the DNS request."

    I'm not sure I understand what this is doing and there isn't any other documentation available.  Can anyone shed any additional light on what this does?

    It's unchecked for me at the moment, but I just turned it on to see impact.  For a home user, is the preferred setting checked or unchecked?


  • LAYER 8 Global Moderator

    Not really anything new, just that they added a checkbox to enable it in the gui vs having to do it in the custom options box.  Pretty sure its be around since 1.6 of unbound.

    This allows unbound to serve up a record that has expired - ie ttl has reached 0…  If the item is still in cache clearly and has not been removed.  It will serve up that record to you, and in the background try and resolve it.  This could help with dns timeouts if you are slow to resolve, etc.

    I would say you should only need to turn this on if your having problems with resolving stuff..  Unless you were having some issues with resolving, I don't see how you would notice if it was on or off to be honest.



  • Thanks for the explanation!


  • LAYER 8 Global Moderator

    Do you have prefetch enabled in the advanced section?  If so your popular items should never really expire to ttl 0, since they will be updated before they expire when a client asks for that record, etc.  I do not recall if that is on out of the box or not.

    This option is prob better for you if your slow to resolve..


Log in to reply