BIND 10 #2934: xfrout session can be broken due to EAGAIN
BIND 10 Development
do-not-reply at isc.org
Fri May 17 07:19:15 UTC 2013
#2934: xfrout session can be broken due to EAGAIN
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner:
Type: defect | jinmei
Priority: medium | Status:
Component: xfrout | accepted
Keywords: | Milestone:
Sensitive: 0 | Sprint-20130528
Sub-Project: DNS | Resolution:
Estimated Difficulty: 2 | CVSS Scoring:
Total Hours: 0 | Defect Severity: N/A
| Feature Depending on Ticket:
| Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
Comment (by jinmei):
trac2943 is ready for review.
The first commit is the actual fix and unit tests. For the purpose
of the test I changed the place of making it nonblocking, but it's
essentially the same as the originally proposed patch.
I believe non-blocking I/O with asynchronous API (such as select) is a
better choice, but xfrout is already so broken in many ways, and with
the expected plan of rewrite I didn't go that far.
The second commit is not directly related, but fixes a small oddity
I found while I tried to provide a system test of this problem.
The change is small so I think it's okay to include it.
The third commit is the largest one: lettuce tests of xfrout including
the scenario of this bug. I needed to provide some supplemental tools
such as a loadzone terrain and a custom axfr client (emulating slower
receiver), so this part of the diff is actually the largest. But
these should be basically straightforward, and I believe these tools
are useful for other test cases, so worth adding at this point.
Proposed changelog:
{{{
615. [bug] jinmei
b10-xfrout now uses blocking send for xfr response messages
to prevent abrupt termination of the stream due to a slower
client or narrower network bandwidth.
(Trac #2934, git TBD)
}}}
--
Ticket URL: <http://bind10.isc.org/ticket/2934#comment:7>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list