BIND 10 #2292: eliminate const_cast from domaintree.h

BIND 10 Development do-not-reply at isc.org
Tue Oct 9 23:36:51 UTC 2012


#2292: eliminate const_cast from domaintree.h
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  jinmei
  jinmei                             |                Status:  reviewing
                       Type:         |             Milestone:
  defect                             |  Sprint-20121023
                   Priority:         |            Resolution:
  medium                             |             Sensitive:  0
                  Component:  data   |           Sub-Project:  DNS
  source                             |  Estimated Difficulty:  4
                   Keywords:         |           Total Hours:  0
            Defect Severity:  N/A    |
Feature Depending on Ticket:         |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------

Comment (by jinmei):

 Replying to [comment:12 vorner]:

 > I fixed the three small issues.

 These look okay.

 > But about this one, I have a problem understanding how you mean it.

 > > I'm afraid we cannot simply remove all of these tests.  Things like
 > > loadRRSIGsRdataMixedCoveredTypes() or addOutOfZoneThrows() still seem
 > > to be necessary (or at least they cannot be removed due to this
 > > ticket).  Also, we need *some* interface to add a particular RRset to
 > > an existing zone anyway in order to support incremental updates after
 > > ixfr or DDNS.
 > >
 > > #2268 revised the load/add interface quite substantially, so maybe we
 > > merge this branch with #2268, and update some of these tests using the
 > > revised add interface while keeping the constness of the domain tree
 > > interface?
 >
 > Keeping the `add()` method seems to be a mutually exclusive requirement
 for the
 > find to return immutable nodes, at least without cheating. If we have
 immutable
 > node, we get only immutable ZoneData and therefore can't modify it to
 add
 > another RRset.

 Right, so we'll still think about the interface for getting mutable
 zone data from the zone table (eventually).

 > Also, I thought the incremental updates would happen inside the memory
 manager
 > thing, which probably will look at the data in a different way.
 Therefore it
 > might be premature to do some cheating because of add() that we may not
 need in
 > the end.

 Hmm, unless we switch to the shared segment version soon and
 completely drop the local segment mode, I guess we still need to
 handle this operation.

 Having said that,

 > Maybe the tests could be reconstructed without using add at all, just by
 > providing the right iterator, or something.

 Looking into the latest status of #2268 and the test cases, it looks
 like we can address this concern without `InMemoryClient::add()`.  So,
 I'd suggest just leaving these tests with '#if 0' and merge this
 branch.  I'll make sure it will be addressed at the final step of #2268.

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


More information about the bind10-tickets mailing list