Skip to content

Make timeouts for canonicalization DNS queries tuneable#175

Merged
hawkw merged 2 commits intomasterfrom
eliza/cfg-dns-timeout
Jan 18, 2019
Merged

Make timeouts for canonicalization DNS queries tuneable#175
hawkw merged 2 commits intomasterfrom
eliza/cfg-dns-timeout

Conversation

@hawkw
Copy link
Contributor

@hawkw hawkw commented Jan 17, 2019

Currently, the proxy hard-codes a 100ms timeout for DNS queries to
canonicalize a name. In some cases (see linkerd/linkerd2#2069), a DNS
server might be slow enough to respond that a majority of these queries
exceed the timeout. This results in a lot of error messages being
logged, and potentially, a delay or complete failure to update to
changes in DNS, if the DNS server is consistently very slow.

This branch adds a LINKERD2_PROXY_DNS_CANONICALIZE_TIMEOUT environment
variable that allows the default 100ms timeout to be overridden.

See also linkerd/linkerd2#2093

Signed-off-by: Eliza Weisman [email protected]

@hawkw hawkw self-assigned this Jan 17, 2019
@hawkw hawkw requested a review from olix0r January 17, 2019 22:33
@hawkw hawkw merged commit 7adc50d into master Jan 18, 2019
@hawkw hawkw deleted the eliza/cfg-dns-timeout branch January 18, 2019 22:28
hawkw added a commit to linkerd/linkerd2 that referenced this pull request Jan 24, 2019
proxy: update pinned version to 5b507a9

This picks up the following proxy commits:

* eaabc48 Update tower-grpc
* e9561de Update h2 to 0.1.16
* 28fd5e7 Add Route timeouts (linkerd/linkerd2-proxy#165)
* 5637372 Re-flag tcp_duration tests as flaky
* 20cbd18 Revise several log levels and messages (linkerd/linkerd2-proxy##177)
* ae16978 Remove flakiness from 'profiles' tests
* 49c29cd canonicalize: Only log errors at the WARN level when falling back (linkerd/linkerd2-proxy#174)
* 486dd13 Make outbound router honor `l5d-dst-override` header (linkerd/linkerd2-proxy#173)
* 7adc50d Make timeouts for canonicalization DNS queries tuneable (linkerd/linkerd2-proxy#175)
* 3188179 Try reducing CI flakiness by reducing RUST_TEST_THREADS to 1

Some of these changes will probably need changelog entries:

* Improve logging when rejecting malformed HTTP/2 pseudo-headers
  (hyperium/h2#347)
* Improve logging for gRPC errors (tower-rs/tower-grpc#111)
* Add Route timeouts (linkerd/linkerd2-proxy#165)
* Downgrade several of the noisiest log messages to TRACE
  (linkerd/linkerd2-proxy##177)
* Add an environment variable for configuring the DNS canonicalization
  timeout (linkerd/linkerd2-proxy#175)
* Make outbound router honor `l5d-dst-override` header
  (linkerd/linkerd2-proxy#173)

Perhaps all the logging related changes can be grouped into one
changelog entry, though...

Signed-off-by: Eliza Weisman <[email protected]>
hawkw added a commit to linkerd/linkerd2 that referenced this pull request Jan 24, 2019
This picks up the following proxy commits:

* eaabc48 Update tower-grpc
* e9561de Update h2 to 0.1.16
* 28fd5e7 Add Route timeouts (linkerd/linkerd2-proxy#165)
* 5637372 Re-flag tcp_duration tests as flaky
* 20cbd18 Revise several log levels and messages (linkerd/linkerd2-proxy##177)
* ae16978 Remove flakiness from 'profiles' tests
* 49c29cd canonicalize: Only log errors at the WARN level when falling back (linkerd/linkerd2-proxy#174)
* 486dd13 Make outbound router honor `l5d-dst-override` header (linkerd/linkerd2-proxy#173)
* 7adc50d Make timeouts for canonicalization DNS queries tuneable (linkerd/linkerd2-proxy#175)
* 3188179 Try reducing CI flakiness by reducing RUST_TEST_THREADS to 1

Some of these changes will probably need changelog entries:

* Improve logging when rejecting malformed HTTP/2 pseudo-headers
  (hyperium/h2#347)
* Improve logging for gRPC errors (tower-rs/tower-grpc#111)
* Add Route timeouts (linkerd/linkerd2-proxy#165)
* Downgrade several of the noisiest log messages to TRACE
  (linkerd/linkerd2-proxy##177)
* Add an environment variable for configuring the DNS canonicalization
  timeout (linkerd/linkerd2-proxy#175)
* Make outbound router honor `l5d-dst-override` header
  (linkerd/linkerd2-proxy#173)

Perhaps all the logging related changes can be grouped into one
changelog entry, though...

Signed-off-by: Eliza Weisman <[email protected]>
sprt pushed a commit to sprt/linkerd2-proxy that referenced this pull request Aug 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants