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