BIND 10 #2092: RBNode parent pointer updates

BIND 10 Development do-not-reply at isc.org
Tue Jul 24 22:19:37 UTC 2012


#2092: RBNode parent pointer updates
-------------------------------------+-------------------------------------
                   Reporter:         |                 Owner:  vorner
  jinmei                             |                Status:  reviewing
                       Type:  task   |             Milestone:
                   Priority:         |  Sprint-20120731
  medium                             |            Resolution:
                  Component:  data   |             Sensitive:  0
  source                             |           Sub-Project:  DNS
                   Keywords:         |  Estimated Difficulty:  4
            Defect Severity:  N/A    |           Total Hours:  0
Feature Depending on Ticket:         |
  scalable inmemory                  |
        Add Hours to Ticket:  0      |
                  Internal?:  0      |
-------------------------------------+-------------------------------------
Changes (by muks):

 * owner:  muks => vorner


Comment:

 Hi vorner

 Replying to [comment:12 vorner]:
 > Hello
 >
 > The code looks mostly OK. Just:
 >  * The test (`getUpperNode`), when it expects NULL, it should check it
 actually got one. It seems to me there's no checking if the expected is
 NULL.

 Nice catch. :) Fixed.

 >  * While merging, a care should be taken, as the internal data are now
 using offset_ptr instead of bare pointers. Some of your new code will need
 to be adjusted.

 A rebased tree is on trac2092_2 branch.

 >  * As noted in #2090, it expected this ticket will stop using the
 sentinel nodes and replace them by real NULLs. As it doesn't seem to have
 happened, either of these need to be done:
 >    - Replace the sentinels with NULLs
 >    - Replace the NULL node in the tree with an offset_ptr, so it can be
 shared too.
 >

 I preferred keeping NULL_NODE as the red-black property is more apparent
 and existing code depended on the properties of NULL_NODE (de-
 referenceable and pointing to itself). But workarounds for the originally
 static NULL_NODE becoming a shareable object in shared memory would have
 led to hackish code.

 So sentinels are replaced with NULLs now.

 Hi Jinmei

 Replying to [comment:13 jinmei]:
 > If not discussed in the review and not done in the branch, please
 > update the following comment.  This branch will deprecate the
 > statement:
 > {{{#!cpp
 > /// to a subtree of subdomains. Note that we can traverse the hierarchy
 down,
 > /// but not up.
 > }}}

 This has been fixed now.

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


More information about the bind10-tickets mailing list