BIND 10 #289: Notify-out implementation
BIND 10 Development
do-not-reply at isc.org
Tue Aug 10 14:27:25 UTC 2010
#289: Notify-out implementation
-----------------------------+----------------------------------------------
Reporter: zhanglikun | Owner: zhanglikun
Type: task | Status: reviewing
Priority: major | Milestone: 06. 4th Incremental Release
Component: xfrin | Resolution:
Keywords: | Sensitive: 0
Estimatedhours: 0.0 | Hours: 0
Billable: 1 | Totalhours: 0
Internal: 0 |
-----------------------------+----------------------------------------------
Comment(by zhanglikun):
Hi Stephen, this is the reply for your review on the following files:
src/lib/xfr/xfrout_client.cc
src/lib/python/isc/datasrc/sqlite3_ds.py
src/lib/python/isc/notify/tests/notify_out_test.py
src/lib/python/isc/notify/notify_out.py
'''What I didn't mentioned here has been changed according your
suggestion. '''
>NotifyOut.get_notify_slaves_from_ns
>Remark: the list of slaves/masters for each zone seems to be something
that could >be in the database along with the zone information.
If the datasource API will provide such feature, that's great.
>_wait_for_notify_reply
>I'm not clear about the logic concerning the determination of
block_timeout. >min_timeout is initialized to the current time, then in
the subsequent "for" loop >is either left alone or made smaller.
block_timeout is then set equal >to "min_timeout - <new current time>".
This will always be negative (or zero >depending on clock resolution), and
so the subsequent "if" check will always set >block_timeout to 0.
Woo, you have found one bug, sorry for my test case not cover it, I have
moved the code for get the min_timeout to one single function, and add one
test case to cover it, thanks for your finding.
>_zone_notify_handler
>Is it possible for this function to be invoked with event_type =
EVENT_READ, but >for the call to _get_notify_reply to return null. If so,
what should happen?
yes, it's possible when the socket read reply packet with error happened.
If so, the notify message will resend again.
>If the function successfully received a notify reply, the next target is
set in the >zone_notify_info block and send_message_udp called. However if
the maximum number >of tries is exceeded, the next target is set in the
zone_notify_info block but >send_message_udp is not called for it. Is this
correct?
yes, send_message_udp() is not called this time, it will be called in the
next loop of dispatcher().
--
Ticket URL: <http://bind10.isc.org/ticket/289#comment:4>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list