designate/designate
Rahman Syed d5d0706705 Improve error handling for TCP connections
In the abstract DNSService's _dns_handle_tcp method, error handling
is broken in a way that stops the main loop for handling TCP
connections.

Because socket.timeout is a subclass of socket.error, the error
handling block for socket.timeout is never reached.

Because of this, error handling of a TCP timeout is sent to the
socket.error block.  Due to the way eventlet hijacks these errors,
the errorcode is not available and a KeyError is raised.  This
KeyError interferes with the main loop because it is not caught.

Further improvement may include ensuring that these main loops
can never die due to unexpected exceptions.

Many thanks to Erik Andersson for pointing out the issue, which
was seemingly innocuous but ended up being the cause of our
problems.

Closes-bug: 1549980
Change-Id: I47e1260a0818cc42cbd56e4d296e083f8fcbbae5
2016-02-29 13:54:51 -06:00
..
agent Merge "Improve logging in designate.agent" 2016-01-15 15:53:15 +00:00
api Merge "Fix V1 Quotas API Extension" 2016-02-22 15:38:54 +00:00
backend Update Bind 9 backend and other documentation 2016-02-22 22:04:06 +00:00
central Merge "Randomize SOA refresh interval" 2016-02-23 14:08:16 +00:00
cmd Update email addresses hp.com to hpe.com 2016-01-11 14:29:33 +00:00
hacking Fix typos in comments 2015-09-03 18:37:27 +09:00
manage Update email addresses hp.com to hpe.com 2016-01-11 14:29:33 +00:00
mdns Actually poll for zone deletes 2016-02-16 22:30:37 +00:00
network_api Minor unicode test fixes 2016-02-17 15:42:24 +00:00
notification_handler Merge "Improve logging in designate.notification_handler" 2016-01-15 15:53:21 +00:00
objects Update PoolAlsoNotify object name 2016-02-23 14:32:24 +00:00
openstack Switch to oslo.reports 2015-11-05 10:55:29 +01:00
pool_manager Merge "Actually poll for zone deletes" 2016-02-22 18:11:37 +00:00
quota Update email addresses hp.com to hpe.com 2016-01-11 14:29:33 +00:00
resources Rename all references of Domain to Zone 2015-11-17 15:22:16 +00:00
schema Fix misspellings 2016-02-04 14:13:51 +00:00
sink Merge "Replace deprecated LOG.warn with LOG.warning" 2016-01-11 17:29:27 +00:00
sqlalchemy Minor test cleanup 2016-02-05 11:25:53 +00:00
storage Randomize SOA refresh interval 2016-02-22 14:54:43 +00:00
tests Merge "Randomize SOA refresh interval" 2016-02-23 14:08:16 +00:00
zone_manager Add delayed NOTIFY 2016-02-17 15:24:00 +00:00
__init__.py Randomize SOA refresh interval 2016-02-22 14:54:43 +00:00
context.py Improving info level log messages 2015-11-27 12:26:28 +05:30
coordination.py Merge "Retry Coordinator start indefinitely" 2016-01-14 15:19:09 +00:00
debug.py Update email addresses hp.com to hpe.com 2016-01-11 14:29:33 +00:00
dnsutils.py Update email addresses hp.com to hpe.com 2016-01-11 14:29:33 +00:00
exceptions.py Rename all references of Domain to Zone 2015-11-17 15:22:16 +00:00
hookpoints.py Allow logging hookpoint intialization 2015-06-29 08:42:58 -05:00
i18n.py Update email addresses hp.com to hpe.com 2016-01-11 14:29:33 +00:00
notifications.py Drop use of 'oslo' namespace package 2015-04-28 18:32:15 +00:00
plugin.py Drop use of 'oslo' namespace package 2015-04-28 18:32:15 +00:00
policy.py Another improvement of info level log messages 2015-11-27 13:15:03 +05:30
rpc.py Drop use of 'oslo' namespace package 2015-05-06 20:36:49 +00:00
service.py Improve error handling for TCP connections 2016-02-29 13:54:51 -06:00
utils.py Update Bind 9 backend and other documentation 2016-02-22 22:04:06 +00:00
version.py Switch to oslo.reports 2015-11-05 10:55:29 +01:00