BIND 10 #1775: update in-memory getAdditional() to handle wildcard match for additional names
BIND 10 Development
do-not-reply at isc.org
Fri Mar 23 21:04:25 UTC 2012
#1775: update in-memory getAdditional() to handle wildcard match for additional
names
-------------------------------------+-------------------------------------
Reporter: | Owner: jinmei
jinmei | Status: reviewing
Type: task | Milestone:
Priority: high | Sprint-20120403
Component: | Resolution:
Unclassified | Sensitive: 0
Keywords: | Sub-Project: DNS
Defect Severity: N/A | Estimated Difficulty: 5
Feature Depending on Ticket: auth | Total Hours: 3.98
performance |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
Replying to [comment:13 vorner]:
> By the time, I hope to have the new in-memory data structure. We should
soon stop improving this one and start working on the design of the one
that can handle the shared memory and dynamic updates.
[...]
> To say the truth, the logic in that file is getting very complicated.
Few more changes and it will be virtually impossible to review or fix.
Yeah, I full agree. memory_datasrc.cc has already become non
understandable.
> Anyway, that's not really because the new changes, it's just there's too
much functionality. I believe the new changes are OK (but I'm surprised
the tree does not preserve pointers when updated ‒ after all, it is a tree
and it has little reason to change positions of nodes in memory).
The problem is that when we extract node for "b.example" from
"a.b.example" on inserting the former, the current implementation
creates a new node (which is unavoidable of course) and moves the
ownership of the existing name (a.b.example) to the new node. In the
original BIND 9 implementation it preserves existing nodes' ownership
when adding a new node - we should do the same thing.
From a quick look this is the only point that led to the additional
hack for the purpose of this branch. We could create a new ticket to
fix that (and probably also remove the hack at the same time), but
just as we discussed above, we might rather focus on redesigning. Do
you have an opinion?
At the moment, I'm going to add the following comment so we don't
forget it even if we don't do this soon.
{{{#!c++
// Note: when we redesign this (still keeping the basic concept), we
should
// change this part so the newly created node will be used for the
inserted
// name (and therefore the name for the existing node doesn't change).
// Otherwise, things like shortcut links between nodes won't work.
}}}
(I don't think we need to have an explicit review cycle for this, so
I'll directly add it to the master with the merge. But if you see any
problem please raise it).
Now merge done, closing the ticket.
Thanks.
--
Ticket URL: <http://bind10.isc.org/ticket/1775#comment:15>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list