From 5573fd28c071cebebc1a78d9daff017f3101c4c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Staffan=20Gim=C3=A5ker?= Date: Tue, 24 Jan 2017 18:55:05 -0500 Subject: [PATCH 1/2] helios-solo: skydns workaround to allow DNS responses up to 32768 bytes TL;DR; skydns does not handle TCP well. We already worked around this in https://github.com/spotify/helios/pull/900. See thar PR for more context. However, that change only fixed the problem to an extent as we still have the same issue once the responses are >4096 bytes. This change extends that workaround to allow us to survive responses up to 32768 bytes in size. This change does not fix the issue, but should make it more rare. --- solo/base/unbound-skydns.conf | 2 ++ solo/base/version.txt | 2 +- solo/docker/Dockerfile | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/solo/base/unbound-skydns.conf b/solo/base/unbound-skydns.conf index 9f3f2418b..46b7d8bf7 100644 --- a/solo/base/unbound-skydns.conf +++ b/solo/base/unbound-skydns.conf @@ -8,6 +8,8 @@ server: outgoing-num-tcp: 256 access-control: 0.0.0.0/0 allow do-not-query-localhost: no + max-udp-size: 32768 + edns-buffer-size: 32768 forward-zone: name: "." diff --git a/solo/base/version.txt b/solo/base/version.txt index 5a2a5806d..eb49d7c7f 100644 --- a/solo/base/version.txt +++ b/solo/base/version.txt @@ -1 +1 @@ -0.6 +0.7 diff --git a/solo/docker/Dockerfile b/solo/docker/Dockerfile index 29d5ac9ed..b1d423efd 100644 --- a/solo/docker/Dockerfile +++ b/solo/docker/Dockerfile @@ -1,4 +1,4 @@ -FROM spotify/helios-solo-base:0.6 +FROM spotify/helios-solo-base:0.7 EXPOSE 5801 From e96a17ce1b7d55a99893833fa2eaf85aea086fab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Staffan=20Gim=C3=A5ker?= Date: Wed, 25 Jan 2017 10:32:59 -0500 Subject: [PATCH 2/2] Add a note about SkyDNS's issues with TCP responses to the docs --- docs/helios_solo.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/helios_solo.md b/docs/helios_solo.md index 97e3b9156..95599696f 100644 --- a/docs/helios_solo.md +++ b/docs/helios_solo.md @@ -181,3 +181,8 @@ $ docker logs helios-solo-container $ helios-up && docker exec -it helios-solo-container bash ``` + +Known issues +------------ + + * SkyDNS does not handle DNS TCP responses well. We have a workaround in place to use UDP for responses up to 32768 bytes in size. Any response larger than that will cause a `SERVFAIL`. When this happens SkyDns will log `skydns: failure to forward request "dns: failed to unpack truncated message"`. See https://github.com/spotify/helios/pull/900 and https://github.com/spotify/helios/pull/1081 for more information.