BIND 10 #1596: Addressing of multiple instances of the same component
BIND 10 Development
do-not-reply at isc.org
Mon Feb 13 18:33:34 UTC 2012
#1596: Addressing of multiple instances of the same component
-------------------------------------+-------------------------------------
Reporter: | Owner: jinmei
vorner | Status: reviewing
Type: task | Milestone:
Priority: major | Sprint-20120221
Component: | Resolution:
Unclassified | Sensitive: 0
Keywords: | Sub-Project: DNS
Defect Severity: N/A | Estimated Difficulty: 5
Feature Depending on Ticket: | Total Hours: 0
Multiple auths |
Add Hours to Ticket: 0 |
Internal?: 0 |
-------------------------------------+-------------------------------------
Comment (by jinmei):
Replying to [comment:11 vorner]:
> > - auth_log.h: not a big deal (and not really specific to this ticket),
> > but I wonder why we define local log levels like this:
> > {{{#!c++
> > // Debug messages upon shutdown
> > const int DBG_AUTH_SHUT = DBGLVL_START_SHUT;
> > }}}
> > especially now that we have use this value for two purposes. Why
> > can't we simply use DBGLVL_START_SHUT for both cases?
>
> I think for historical reasons, we didn't have the DBGLVL_START_SHUT at
the time when most of the logging was written and when they appeared, the
local constants were just updated. I didn't want to break the consistency
with them and I don't want to go through the whole auth and modify them
there, the cleanup change would be too big to piggy-back it I think. Maybe
another ticket (the tickets seem to grow exponentially this way, every
ticket has multiple follow-up tickets).
Not updating this branch for this is okay. The ticket bloat issue is
true, but I can't think of a better way to make a good balance between
ensuring quality and reasonably rapid integration. In many cases,
however, cleanup tickets are trivial and much easier than the original
one.
> > - AuthCommand::exec: in general, I'd rather prefer rejecting bogus
> > inputs (either as a result of exception or by returning a specific
> > error) than ignoring them. In the case of auth, it should actually
> > have been so because Element class would throw an exception (and it
> > will be caught in execAuthServerCommand(), logged, and translated
> > into an error answer to the command issuer). Same comment applies
> > to the resolver, although in that case we (probably) cannot simply
> > throw an exception because it wouldn't be caught in a proper
> > context.
>
> I changed it to throw the exception (and added the catch for the
resolver, it can't hurt).
Okay.
The branch now looks basically okay. I've noted a few more minor
things, but I'd leave it to you whether/how to address them. After
addressing them (or not) please feel free to merge.
- bind10_src: in my often incorrect understanding of the English
grammar, an 'if' clause cannot be the subject of a sentence. So I'd
change 'If it turns...or if we' to "Whether it turns...or whether
we":
{{{
# want to support multiple instances of a single component. If it
turns
# out that we'll have a single component with multiple same
processes
# or if we start multiple components with the same configuration
(we do
# this now, but it might change) is an open question.
}}}
- in auth command test, I'd initialize expect_rcode_ in the
constructor based on the spirit of initializing everything as soon
as possible.
- Now we catch exceptions from the CC/element module at a reasonable
level, we could even omit this check, which would make the main code
a bit more concise:
{{{
args->getType() == isc::data::Element::map &&
}}}
--
Ticket URL: <http://bind10.isc.org/ticket/1596#comment:12>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list