BIND 10 #2965: xfrout should use general datasource configuration, not Auth/database_file

BIND 10 Development do-not-reply at isc.org
Mon Jun 10 06:10:26 UTC 2013


#2965: xfrout should use general datasource configuration, not Auth/database_file
-------------------------------------+-------------------------------------
            Reporter:  jinmei        |                        Owner:
                Type:  defect        |                       Status:  new
            Priority:  medium        |                    Milestone:  Next-
           Component:  xfrout        |  Sprint-Proposed
            Keywords:                |                   Resolution:
           Sensitive:  0             |                 CVSS Scoring:
         Sub-Project:  DNS           |              Defect Severity:  N/A
Estimated Difficulty:  0             |  Feature Depending on Ticket:
         Total Hours:  0             |          Add Hours to Ticket:  0
                                     |                    Internal?:  0
-------------------------------------+-------------------------------------
Description changed by jinmei:

Old description:

> subject should say all. we'll need this by the time
> we support non-SQLite3 based data source, so it's probably
> the time to schedule it.
>
> More specifics based on #2964:
>
> - import 'data_sources' module instead of 'Auth' as a remote module.
>   See `Xfrin` constructor.
> - maintain `isc.server_common.DataSrcClientsMgr` object and call its
>   reconfigure() from the remote config update callback for the
>   data_sources module.  See `Xfrin._datasrc_config_handler`.
> - when a data source is necessary, get it from the `DataSrcClientsMgr`
>   using its `get_client_list()`.  See xfrin_start().
> - then remove any reference to auth module, "db_file", sqlite3
>   specifics, etc.
>
> In the case of xfrin, there's one tricky point:
> `XfroutSession._get_zone_soa()`
> needs to use `ZoneFinder`s.  This cannot be done by multiple threads
> (on the same shared data source client) at the same time, so this call
> should use some synchronization.
>
> Changes to notify_out module will also non trivial, so I suggest
> moving that part into a different ticket.  Until it's done, xfrout
> will still keep the old `Auth/database_file`, db_file, etc.

New description:

 subject should say all. we'll need this by the time
 we support non-SQLite3 based data source, so it's probably
 the time to schedule it.

 More specifics based on #2964:

 - import 'data_sources' module instead of 'Auth' as a remote module.
   See `Xfrin` constructor.
 - maintain `isc.server_common.DataSrcClientsMgr` object and call its
   reconfigure() from the remote config update callback for the
   data_sources module.  See `Xfrin._datasrc_config_handler`.
 - when a data source is necessary, get it from the `DataSrcClientsMgr`
   using its `get_client_list()`.  See xfrin_start().
 - then remove any reference to auth module, "db_file", sqlite3
   specifics, etc.

 In the case of xfrout, there's one tricky point:
 `XfroutSession._get_zone_soa()`
 needs to use `ZoneFinder`s.  This cannot be done by multiple threads
 (on the same shared data source client) at the same time, so this call
 should use some synchronization.

 Changes to notify_out module will also non trivial, so I suggest
 moving that part into a different ticket.  Until it's done, xfrout
 will still keep the old `Auth/database_file`, db_file, etc.

--

-- 
Ticket URL: <http://bind10.isc.org/ticket/2965#comment:7>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list