BIND 10 #1001: busy loop in notify_out
BIND 10 Development
do-not-reply at isc.org
Wed Jun 8 21:58:44 UTC 2011
#1001: busy loop in notify_out
-------------------------------------+-------------------------------------
Reporter: jinmei | Owner:
Type: defect | Status: new
Priority: major | Milestone: Next-
Component: xfrout | Sprint-Proposed
Sensitive: 0 | Keywords:
Sub-Project: DNS | Defect Severity: High
Estimated Difficulty: 0 | Feature Depending on Ticket:
Total Hours: 0 | Add Hours to Ticket: 0
| Internal?: 0
-------------------------------------+-------------------------------------
There's a quite bad busy loop in src/lib/python/isc/notify/notify_out.py.
Essentially it runs an infinite loop in a separate thread with a
synchronization mechanism using select:
{{{
while self._serving:
replied_zones, not_replied_zones =
self._wait_for_notify_reply()
}}}
and in NotifyOut._wait_for_notify_reply:
{{{
...
try:
r_fds, w, e = select.select(valid_socks, [], [],
block_timeout)
...
}}}
The problem is, block_timeout is set to a constant of 0.5s in most of
the time.
Such a busy loop is quite naive for production systems and must be
eliminated.
This may or may not be related to #988.
--
Ticket URL: <http://bind10.isc.org/ticket/1001>
BIND 10 Development <http://bind10.isc.org>
BIND 10 Development
More information about the bind10-tickets
mailing list