Report information
The Basics
Id:
36083
Status:
rejected
Priority:
Medium/Medium
Queue:

People
BugTracker
Version Fixed:
(no value)
Version Found:
(no value)
Versions Affected:
(no value)
Versions Planned:
(no value)
Priority:
(no value)
Severity:
(no value)
CVSS Score:
(no value)
CVE ID:
(no value)
Component:
(no value)
Area:
feature

Dates
Created:Sat, 24 May 2014 09:34:47 -0400
Updated:Wed, 13 Sep 2017 17:43:11 -0400
Closed:Wed, 13 Sep 2017 17:43:11 -0400



This bug tracker is no longer active.

Please go to our Gitlab to submit issues (both feature requests and bug reports) for active projects maintained by Internet Systems Consortium (ISC).

Due to security and confidentiality requirements, full access is limited to the primary maintainers.

Subject: Prefetch
Date: Sat, 24 May 2014 09:34:39 -0400
To: bind9-bugs@isc.org
From: Timothe Litt <litt@acm.org>
My resolvers don't have enough traffic to make prefetch very interesting, so I haven't played with it. Nonetheless, I did think about it. So while this isn't exactly a 'bug' report, I thought I'd share the thoughts in case they are useful. The 9.10 'prefetch' mechanism is currently tuned by a TTL threshold ('elegibility') and a window ("trigger"). Both are fixed global parameters. The threshold makes intuitive sense - no point in prefetching if TTL is very small. The window is intended to avoid prefetching low activity zones so the records can expire from the cache; prefetch is initiated if a request arrives in the window at the end of TTL. It's not obvious that a fixed window is the only sensible way to specify when to prefetch. Has any thought been given to alternatives? One that comes immediately to mind is % TTL remaining. This would adapt to the TTL of the record, and provide some more useful opportunities for tuning caching at the resolver. Some examples: .5 - aggressive - cuts TTL in 1/2, minimize chance of miss .95 - conservative - fetch near the end, maximize caching. .01 - 'somewhat insane' - try to cache even low use records One might specify this using a fractional trigger value, say: prefetch .8 9; # 80% The integer part could also be a limit (e.g. 90.8 = 80%, but no sooner than 90 seconds remaining). This would be consistent with the current definitions. A 'and no later than' might also be useful - but risks making thing a bit messier. Speaking of messier: the option syntax prefetch number number; is not desirable, as it's not easy to remember. Please stop adding options of this form. (dnssec-sig-validity-interval also has this sort of syntax.) I understand the desire to not have a zillion top-level keywords (e.g. prefetch-trigger and prefetch-elegibility). As an alternative, consider a position-independent keyword syntax such as prefetch trigger=5 elegibility=60 This could be retrofitted to the existing mult-value options and be backward-compatible (no keyword => defined by order), but would make it a lot easier to remember what's going on - whether reading a config file or generating one. -- Timothe Litt ACM Distinguished Engineer -------------------------- This communication may not represent the ACM or my employer's views, if any, on the matters discussed.

Message body not shown because it is not plain text.

CC: undisclosed-recipients: ;
Subject: Re: [ISC-Bugs #36083] Prefetch
Date: Sat, 24 May 2014 15:38:24 +0000
To: Timothe Litt via RT <bind9-bugs@isc.org>
From: Evan Hunt <each@isc.org>
Hello Timothe, These are good suggestions, particularly the keyword idea. I'm afraid I'm going to have to glare at you a little bit for not having made them during alpha, though. *glare* Okay, I'm over it now. We won't have time to address this very soon, but I'll hold on to the ticket. Thanks. -- Evan Hunt -- each@isc.org Internet Systems Consortium, Inc.