BIND 10 #299: AXFR fails half the time

BIND 10 Development do-not-reply at isc.org
Mon Nov 1 13:29:43 UTC 2010


#299: AXFR fails half the time
-----------------------------+----------------------------------------------
      Reporter:  zzchen_pku  |        Owner:  zzchen_pku
          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           |  
-----------------------------+----------------------------------------------

Comment(by jinmei):

 Replying to [comment:27 zhanglikun]:
 > >First of all, are we intentionally allowing multiple clients to connect
 to the xfrout server via the unix domain socket? The current
 implementation allows that because it inherits from
 ThreadingUnixStreamServer. This behavior might be good (e.g. if we use a
 multi-process model for b10-auth in the future, each sub process may want
 to make a separate connection to xfrout), but I'm not sure about the
 intent from the code. Actually, it rather seems to assume a single client.
 >
 > Yes, currently, with the long connection between Xfrout and Auth, It can
 only handle one Auth client. I can't find a better solution to support
 multiple auth in the future.
 >
 Actually, as noted in my comment above, I suspect the current code allows
 that.  But the point is that it's not clear whether it's by design or a
 side effect.

 > >Second, since the actual xfrout session works in the blocking mode, we
 cannot handle multiple xfrout sessions concurrently. This is not good if
 we have multiple large zones and when xfrout sessions run for these zones
 at the same time. And, of course, the shutdown procedure cannot (always)
 be as quick as it should be.
 >
 > No, the current module support concurrent transfer out. Each xfrout
 session is done in one thread. we can make max-transfers-out zones do
 transfer out concurrently, but currently, our naive datasource API(python
 sqlite3) doesn't support concurrent read operation.
 >
 By multiple xfrout session, I meant handling multiple xfrout requests
 concurrently.  I don't think it possible with the current code (of trac
 #299), exactly for the reason we discussed in the first paragraph: "with
 the long connection between Xfrout and Auth", a single XfroutSession
 instance handles all incoming requests sequentially.

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


More information about the bind10-tickets mailing list