BIND 10 #2044: In-Memory cache in ClientList
BIND 10 Development
do-not-reply at isc.org
Fri Jul 6 12:31:34 UTC 2012
#2044: In-Memory cache in ClientList
-------------------------------------+-------------------------------------
Reporter: | Owner: vorner
vorner | Status: closed
Type: task | Milestone:
Priority: | Sprint-20120717
medium | Resolution: complete
Component: data | Sensitive: 0
source | Sub-Project: DNS
Keywords: | Estimated Difficulty: 7
Defect Severity: N/A | Total Hours: 5.01
Feature Depending on Ticket: Use |
new datasources |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jelte):
Replying to [comment:11 vorner]:
> Replying to [comment:10 jelte]:
> > I wonder if we should check whether a zone is present in multiple
datasources; that might result in some unexpected behaviour (not really
specific here, but the way they are added to the cache reminded me of it).
>
> Well, the semantics is that the first instance of the best match takes
precedence. So, there's no need to. Note that each data source has its own
separate cache.
>
yes this was more of a general pondering :)
> > This seems a lot like running memory datasource that loads from
sqlite3 (except this will hopefully be load-on-demand completely in the
future) :) Will this replace that or will we have both? (i.e. the to be
implemented cache_all option).
>
> Yes, that's a generalization of that, for any data source. I want it to
be able to detect the zones automatically, so we can omit the list of the
zones. I want it to replace that, because the current/old way is non-
systematic hack. I'd like the „memory“ type be gone in the long term (or,
at least, modify the configuration it takes to something sane).
>
+1 on getting rid of the current configuration :) And tentative +1 on not
having a separate memory ds (but may depend on how we end up doing the
scalability work, and on how we will keep this synced on rapidly changing
zones/zone lists)
> Anyway, I don't think an on-demand loading would make sense. Can you
imagine your `com.` is not yet cached and you get the query? Even if we
could load it in background, the query would likely time out by then.
>
for something like .com it would indeed be bad, I was more thinking of
having a gazillion small zones which should load quite fast and then be
'cached' (now thinking cache may not be a very good name for this), but if
query rate is low enough you probably don't want them in memory anyway, so
yeah, on-demand is probably not a good idea.
> > I don't recall if this would be part of the zoneloaderv2 work., but
did we intend to change the way zones are loaded in the API? The
intermediate zonefinder creation seems unnecessary, and things would look
simpler if we could just call load() directly on InMemoryClient; or
perhaps even make it a public call of DataSourceClient (in that case we
can remove the InMemoryClient class from the code here completely, and
initialize a base datasourceclient as an inmemory one). Though of course
the latter would need some consideration as to what to do for different
types of datasource.
>
> I don't think I parse the question. If you want to explain it, could you
do it by email (either to me or to -dev)? Thank you
will do
--
Ticket URL: <http://bind10.isc.org/ticket/2044#comment:12>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list