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