BIND 10 #447: MemoryZone::find()

BIND 10 Development do-not-reply at isc.org
Thu Dec 23 22:50:35 UTC 2010


#447: MemoryZone::find()
------------------------------+---------------------------------------------
      Reporter:  vorner       |        Owner:  hanfeng  
          Type:  task         |       Status:  reviewing
      Priority:  major        |    Milestone:           
     Component:  data source  |   Resolution:           
      Keywords:               |    Sensitive:  0        
Estimatedhours:  0.0          |        Hours:  0        
      Billable:  1            |   Totalhours:  0        
      Internal:  0            |  
------------------------------+---------------------------------------------

Comment(by jinmei):

 Replying to [comment:4 vorner]:

 > > '''MemoryZoneImpl::add()'''
 > >  - this method does not provide strong exception guarantee (if it
 > >    throws after insert(), the inserted node will remain).  It may be
 [...]
 >
 > I changed find() in a way empty domain is considered nonexistent. That
 way we have strong exception guarantee at the interface level (while the
 internal representation changed, the external behaviour stays the same).
 >
 Hmm, since we need to support empty non terminal cases I'm not sure if
 this can be a remedy for this problem.  But in any case, I'd not request
 it provide the strong guarantee at least at the moment.  If we can ensure
 that, that would be fine; if not I'm okay with simply documenting it for
 now.

 > >  - I'm not sure why we need the tricks with getRelativeName().
 >
 [...]
 > I wanted it not because of the finding (but traversing the set of labels
 twice, once in ZoneTable, once in the zone itself seems duplicated work),
 but to save some memory. But it probably is marginal.
 >
 Ah, okay, if that's the reason, I guess it's marginal because the rbtree
 essentially does the same compression (normally, only one node consumes
 the memory for the common origin part).  So,

 > Do you think I should remove it in favor of simplicity?
 >
 yes, I personally prefer the simplicity, comparing the motivation and the
 current level of code complexity.

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


More information about the bind10-tickets mailing list