BIND 10 #401: Timouts in the recursor
BIND 10 Development
do-not-reply at isc.org
Fri Nov 26 17:53:17 UTC 2010
#401: Timouts in the recursor
------------------------------+---------------------------------------------
Reporter: vorner | Owner: vorner
Type: enhancement | Status: reviewing
Priority: major | Milestone:
Component: recurser | Resolution:
Keywords: | Sensitive: 0
Estimatedhours: 0.0 | Hours: 0
Billable: 1 | Totalhours: 0
Internal: 0 |
------------------------------+---------------------------------------------
Changes (by stephen):
* owner: stephen => vorner
Comment:
I've looked at the changes in src/lib/asiolink and src/bin/recurse since
r3524. The ''seem'' OK, although I did note the following concerning
recursor.h and recursor.cc:
'''recursor.h'''
* Methods are documented, but not the class itself. What is its purpose?
'''recursor.cc'''
* RecursorImpl::!RecursorImpl should initialize rec_query_ to NULL
(instead of "()".
* Is there a potential failure mode here should querySetup() be called
when a query is in progress? Suggest that if querySetup() is called with
a non-NULL rec_query_ an exception is thrown.
* The classes !QuestionInserter and !SectionInserter seem to related more
to code associated with general DNS message manipulation than with the
recursor. Should they be in recursor.cc or in the main DNS library?
* Similarly, !MessageAnswer does a general transformation of a message.
Although it takes a Recursor* argument to its constructor, it seems that
this is never used. I would suggest that the functionality of
!MessageAnswer is placed in the main DNS library and that the
!MessageAnswer code just calls it.
On a more general point, documentation: as the resolver progresses, it is
getting more difficult to relate the bits to one another. I think we need
to take some time to document what we have so far. At minimum a class
diagram and an outline of the general logic is required. (In fairness, I
think that also needs to include the asiolink classes; there is some
documentation in the "doc" directory but it does need to be extended.
Most of the time in this review was flitting back and forth between
asiolink and recurse trying to work out what method was being called and
why.)
--
Ticket URL: <https://bind10.isc.org/ticket/401#comment:7>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list