BIND 10 #299: AXFR fails half the time

BIND 10 Development do-not-reply at isc.org
Wed Aug 11 04:28:56 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:  0        
      Internal:  0           |  
-----------------------------+----------------------------------------------

Comment(by jinmei):

 Replying to [comment:9 zzchen_pku]:
 > > I still don't understand why the xfrout server cannot keep the
 connection.  Although the overhead may be marginal in our usage, it just
 seems to me an obvious waste.
 > Because Xfrout server is a subclass of SocketServer, and SocketServer
 implements logic for single request/response per connection. May be we can
 override the SocketServer behavior to implement long tcp connection. But
 for this release, I think we need a quick fix.
 >
 Okay, and I agree we need a quick fix.

 Please make a separate ticket for a better solution.  If it's too hard to
 fix xfrout and we can be sure the overhead is negligible, that's fine, but
 we should at least consider more lightweight solution in the separate
 ticket.

 As for the proposed diff, I think we still need some cleanups.

  - we need to adjust tests
  - as noted in my previous comment, we should handle the case where
 disconnect() (ever) fails more carefully.  basically this shouldn't happen
 in our usage so it's not a good idea to silently catch it.
  - we should keep the consistency between xfrout_connected_ and whether
 xfrout_client_ is actually connected.  if we really don't need to modify
 the state variable we should rather remove it.

 I'm attaching a counter proposal patch, where I keep xfrout_connected_
 (assuming in a complete fix we'll need it again).  Please check it, and if
 it's okay, go commit it.  Please also not forget adding a changelog entry.

-- 
Ticket URL: <https://bind10.isc.org/ticket/299#comment:10>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development


More information about the bind10-tickets mailing list