Can a local DNS cache be configured to use stale records when upstream fails?

Solution 1:

I know similar feature in unbound DNS.

From unbound docs:

   serve-expired: <yes or no>
          If enabled, unbound attempts to serve old responses  from  cache
          with  a  TTL of 0 in the response without waiting for the actual
          resolution to finish.  The actual resolution answer ends  up  in
          the cache later on.  Default is "no".