BIND 10 #1198: Split DatabaseClient::Finder::find

BIND 10 Development do-not-reply at isc.org
Mon Nov 28 13:14:44 UTC 2011


#1198: Split DatabaseClient::Finder::find
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  vorner                             |                Status:  reviewing
                       Type:         |             Milestone:
  enhancement                        |  Sprint-20111206
                   Priority:  minor  |            Resolution:
                  Component:  data   |             Sensitive:  0
  source                             |           Sub-Project:  DNS
                   Keywords:         |  Estimated Difficulty:  4
            Defect Severity:  High   |           Total Hours:  0
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by stephen):

 * owner:  stephen => jinmei


Comment:

 Additional comments (to be read in conjunction with those above):

 >> If you agree with the general intent of my proposal, please also note
 that you'll need to update the documentation of some of the methods you
 introduced in the branch and provide document for newer methods and new
 log messages.
 > What would really help is to have a general description of the algorithm
 somewhere. I found it difficult to follow the logic in some places - I was
 reverse engineering the documentation from the code.
 I've now done that and added more detailed comments to the code.  At this
 point I'm hoping that the reading the comments + code should allow someone
 to understand what's happing without too much effort on their part.

 >> (In case we agree on the further refactoring idea) I'd also like to
 simplify the for loop of findWildcardMatch() using the same/similar
 technique as find(). But this method may not be so unreadable in its
 current form, so I didn't touch it.
 > I'll have a look at it.
 With the added comments I think it's now understandable enough without
 further decomposition into separate functions.

 >> (Although this may not actually be a topic of this refactoring task) in
 findWildcardMatch(), isn't it possible (thought probably rare or due to a
 pathological database) that getting NSEC fails here?
 It could do.  I thought about testing for it here, but doesn't that fall
 into the more general case of requesting DNSSEC data from a zone we
 believe to be signed and not finding it?  I'd prefer to put this into a
 separate ticket.

 Two other things:
 * I've added a small utility to the tools directory to process message
 files and put them in alphabetical order of message ID.  The message file
 has been run through this.
 * There are four TODOs in database.cc: three are requesting clarification
 of the algorithm (in particular, reasons why it does/does not do
 something).  The fourth - line 792 - proposes alternate processing at a
 given condition.  Comments/thoughts requested.

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


More information about the bind10-tickets mailing list