[bind10-dev] Datasources, meta-datasource and configuration

Michal 'vorner' Vaner michal.vaner at nic.cz
Thu Apr 19 08:13:12 UTC 2012


Hello

On Wed, Apr 18, 2012 at 12:17:47PM -0700, JINMEI Tatuya / 神明達哉 wrote:
> - As we discussed in the msgq-ng context I'm not sure if it's
>   reasonable to enumerate all in-memory zones in this configuration.
>   Maybe a good topic for the f2f meeting.

If I was a user, I'd find it confusing to configure list of datasources at one
place and the configuration of them in another and have some secondary mean of
triggering the reload. Also, we would have to find some way to make sure the
configurations are consistent.

> - in-memory could be also used for xfrout (using AXFR) as long as it
>   provides the iterator interface.

If we have the shared-memory version, then yes, it could. In the current state,
it looks wrong to load the whole zone by iterating into memory and then iterate
the memory copy again to send it.

But if we use it in xfrout to iterate, we may just use it everywhere for
simplicity. Then it could delegate the request for updater to the data source
where it loaded the zone from and we would not have to care about providing
separate ways to choose the datasource for auth and for the rest.

> - maybe it's too early to talk about the implementation, but
>   personally I'm not convinced that the best way to implement it is to
>   make the "meta datasource" as an interchangable derived class with
>   other data source (client) classes.

Well, my motivation for it is that the metadatasource would need a single method
implemented only, therefore we would need very little changes anywhere else. And
in case there's only one data source, we could just bypass the selection
completely. But I'm open to other approaches, of course.

> - I'm not sure if I understand the "single match" type usage.  But in
>   any event, I guess it's subject to discussion how we realize that
>   different components can prefer/exclude particular types of data
>   sources.

Well, the single type would mean „Take the first data source in the list and
ignore the rest“. In case we are serving from in-memory only, but have some
other datasources to load the zones from, we want to make sure we never query
the datasources, because that is slow ‒ even in case a query for a non-existent
zone comes. So the in-memory would be placed first, the rest of datasources
would be used to load the zones only and ignored by the matching mechanism (or,
the matching datasource mechanism could be just skipped, as mentioned above).

With regards

-- 
In the name of kernel, compiler and holy penguin

Michal 'vorner' Vaner
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <https://lists.isc.org/pipermail/bind10-dev/attachments/20120419/cd58250b/attachment.bin>


More information about the bind10-dev mailing list