BIND 10 #1331: Extend the ZoneUpdater class to support adding diffs

BIND 10 Development do-not-reply at isc.org
Mon Nov 14 17:35:02 UTC 2011


#1331: Extend the ZoneUpdater class to support adding diffs
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  jinmei                             |                Status:  reviewing
                       Type:  task   |             Milestone:
                   Priority:  major  |  Sprint-20111122
                  Component:  data   |            Resolution:
  source                             |             Sensitive:  0
                   Keywords:         |           Sub-Project:  DNS
            Defect Severity:  N/A    |  Estimated Difficulty:  4
Feature Depending on Ticket:         |           Total Hours:  0
        Add Hours to Ticket:         |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by jinmei):

 Replying to [comment:15 vorner]:

 > > - In zone.h, is this "...look like an IXFR"?
 > > {{{
 > >     /// If journaling was requested when getting this updater, it
 might reject
 > >     /// to add the RRset if the squence doesn't look like and IXFR
 (see
 > > }}}
 > >   (didn't notice that in the previous review).  Also, I guess we
 should now
 > >   change "might reject" to "will reject".  Applies to both addRRset()
 and
 > >   deleteRRset().
 >
 > Hmm, but then if someone would like to implement their own data source
 client, they would be required to check it. I'd like to allow the
 flexibility in not requiring the check. Any idea how to word it so it is
 clear the sequence must be IXFR like, but the check is optional?

 If the sequence requirement is a must, what's the point of the
 "flexibility" of not doing the check?  That just seems to be laziness
 that naively trusts the application does the right thing.

 If you are thinking about future extension of a smarter data source
 (which we discussed in this ticket) with a specific application that
 selectively uses that kind of data sources, we'll of course loosen the
 check requirement at that point.  But until/unless we have a real need
 for it I'd rather keep the check tighter so that bugs in the
 application can be detected more easily and sooner.

 > > I don't necessarily think it should; I just wondered.  But the reason
 > > about this is different from other semantics errors like duplicate
 > > CNAME.  In the case of multiple SOA RRs, it would break the specific
 > > assumption of this method, that is, the resulting sequence is in the
 > > IXFR order.
 >
 > It is harder to create a SOA with multiple RRs than it is to mix the
 order. So I'd say we leave this check for now, it doesn't seem to bring
 any real advantage.
 >
 > > Finally, in case you forget it, please check with Jeremy whether we
 > > want to have a changelog entry.

 Okay.

 > He says he would like one. So, something like this?
 >
 > {{{
 > [func]
 > The database data sources can now store diffs when updating the data.
 > }}}

 We actually also extend the top level interface.  I'd mention that,
 e.g.:
 {{{
 317.?   [func]
         datasrc: the getUpdater (and get_updater for python) method of
         DataSourceClient supports an optional 'journaling' parameter to
         indicate the generated updater to store diffs.  The database based
         derived class implements this extension.
 }}}

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


More information about the bind10-tickets mailing list