BIND 10 #299: AXFR fails half the time
BIND 10 Development
do-not-reply at isc.org
Fri Nov 5 10:42:14 UTC 2010
#299: AXFR fails half the time
-----------------------------+----------------------------------------------
Reporter: zzchen_pku | Owner: jinmei
Type: defect | Status: reviewing
Priority: major | Milestone:
Component: xfrout | Resolution:
Keywords: | Sensitive: 0
Estimatedhours: 0.0 | Hours: 0
Billable: 1 | Totalhours: 1.5
Internal: 0 |
-----------------------------+----------------------------------------------
Changes (by zzchen_pku):
* owner: zzchen_pku => jinmei
Comment:
Replying to [comment:36 jinmei]:
> > > when shutdown happens, shouldn't the !XfroutSession be able to
detect that via the _shutdown_sock?
[snip]
> Ah, okay. But the intent is way too difficult to understand just from
the code. Please add comments about why we need to do that way.
Okay, done.
> > > - when EINTR happens, recv_fd() will be called even if it may not
be readable.
> >
> With the new code, when errno.EINTR is received the while loop is
terminated. Is that the intent? Also, this notation is not readable to
me:
>
> {{{
> if not e.args[0] == errno.EINTR:
> }}}
>
> I'd say either
> {{{
> if e.args[0] is not errno.EINTR:
> }}}
> or just use the plain old style
> {{{
> if e.args[0] != errno.EINTR:
> }}}
> which IMO is even more readable than "not A == B".
Updated, will clean (rlist, wlist, xlist) and continue the loop when
received errno.EINTR.
> > The xfrout request message shouldn't be too large, but in order to
avoid partial read, have updated the recv logic.
> > > as far as remember this usage is actually even "deprecated".
(although this type of cleanup may better be deferred to a different
ticket)
> > > - also please add documentation of this constatnt (at least in C++,
and if possible in the python wrapper)
> >
> As for doc, please make it in the doxygen style.
Done.
> Mostly okay, but there's one minor style issues:
> {{{
> PyObject *XFR_FD_RECEIVE_FAIL ...
> }}}
> should be
> {{{
> PyObject* XFR_FD_RECEIVE_FAIL ...
> }}}
I found both styles in bind10 code, not sure which one is better, and
http://bind10.isc.org/wiki/BIND9CodingGuidelines uses the former one.
> Finally, a new issue with the latest change in xfrout_test.py. The
following comment is not true any more now that it also overrides
_send_data():
>
> {{{
> # We subclass the Session class we're testing here, only
> # to override the __init__() method, which wants a socket,
> class MyXfroutSession(XfroutSession):
> }}}
>
> and, in any event, this comment seems to be incomplete (ending with a
comma).
Updated, thank you for your carefully review.
Please find the new change in r3462
--
Ticket URL: <http://bind10.isc.org/ticket/299#comment:37>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list