serve-expired seems to break flush_zone
Marc Branchaud
marcnarc at xiplink.com
Fri Apr 6 15:05:12 UTC 2018
On 2018-04-06 02:47 AM, W.C.A. Wijngaards via Unbound-users wrote:
> Hi Marc,
>
> On 04/04/18 20:29, Marc Branchaud via Unbound-users wrote:
>> Hi all,
>>
>> I have a simple forward-everything setup with serve-expired enabled:
>>
>> server:
>> serve-expired: yes
>> forward-zone:
>> name: .
>> forward-addr: X.X.X.X
>>
>> If I use "flush_zone ." to clear the cache, I still get cache hits for
>> supposedly-absent entries (dump_cache shows that the cache is empty).
>>
>> When I turn serve-expired off, "flush_zone ." results in cache misses
>> for flushed entries.
>>
>> With serve-expired on, I can only seem to force a cache miss by
>> explicitly flushing a name (e.g. "flush google.com"). I really want to
>> clear the entire cache, though.
>>
>> Is this an intended effect of serve-expired, or is it a bug?
>
> Right now this is the design of flush-zone, it iterates over the cache
> contents. And it sets every element of the flushed zone to the expired
> state. I couldn't really delete the element at that time, because the
> iterator would become invalid.
I figured it was something like that. Perhaps the man page could
mention this? The entry for flush_zone says "Remove all information at
or below the name from the cache" but maybe instead something like "Set
the TTL to 0 for all cache entries at and below the name."
> I could however, set other flags or things to the expired data. Eg
> SERVFAIL. But then the customer receives servfail and the prefetch
> happens, instead of the customer receiving the old data and a prefetch
> happens, which is what there is now.
I prefer that serve-expired still actually serves expired entries if
they're in the cache. I was confused because I thought I had flushed
the cache, that's all.
However, there seems to be a related-but-different bug: I'm not seeing
any prefetching. After the flush, no upstream query appears until after
the flushed entry's original TTL elapses.
Thanks,
M.
More information about the Unbound-users
mailing list