From 17db1cf74b75a29b4ab2fb0b262c2a17f6ebe914 Mon Sep 17 00:00:00 2001 From: Eliza Weisman Date: Fri, 17 Jun 2022 13:40:16 -0700 Subject: [PATCH] update Tower to 0.4.13 to fix load balancer panic (#1758) Tower [v0.4.13] includes a fix for a bug in the `tower::ready_cache` module, tower-rs/tower#415. The `ready_cache` module is used internally in Tower's load balancer. This bug resulted in panics in the proxy (linkerd/linkerd2#8666, linkerd/linkerd2#6086) in cases where the Destination service sends a very large number of service discovery updates (see linkerd/linkerd2#8677). This commit updates the proxy's dependency on `tower` to 0.4.13, to ensure that this bugfix is picked up. Fixes linkerd/linkerd2#8666 Fixes linkerd/linkerd2#6086 [v0.4.13]: https://github.com/tower-rs/tower/releases/tag/tower-0.4.13 --- linkerd/proxy/http/Cargo.toml | 2 +- linkerd/proxy/tcp/Cargo.toml | 2 +- linkerd/service-profiles/Cargo.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/linkerd/proxy/http/Cargo.toml b/linkerd/proxy/http/Cargo.toml index 6f26f75a50..2a1e8094de 100644 --- a/linkerd/proxy/http/Cargo.toml +++ b/linkerd/proxy/http/Cargo.toml @@ -31,7 +31,7 @@ linkerd-stack = { path = "../../stack" } rand = "0.8" thiserror = "1" tokio = { version = "1", features = ["time", "rt"] } -tower = { version = "0.4", default-features = false, features = ["balance", "load", "discover"] } +tower = { version = "0.4.13", default-features = false, features = ["balance", "load", "discover"] } tracing = "0.1" try-lock = "0.2" pin-project = "1" diff --git a/linkerd/proxy/tcp/Cargo.toml b/linkerd/proxy/tcp/Cargo.toml index 95daf0206a..8ace638442 100644 --- a/linkerd/proxy/tcp/Cargo.toml +++ b/linkerd/proxy/tcp/Cargo.toml @@ -14,5 +14,5 @@ linkerd-error = { path = "../../error" } linkerd-stack = { path = "../../stack" } rand = "0.8" tokio = { version = "1" } -tower = { version = "0.4", default-features = false, features = ["balance", "load", "discover"] } +tower = { version = "0.4.13", default-features = false, features = ["balance", "load", "discover"] } pin-project = "1" diff --git a/linkerd/service-profiles/Cargo.toml b/linkerd/service-profiles/Cargo.toml index 613fddf6e1..7564ffec1d 100644 --- a/linkerd/service-profiles/Cargo.toml +++ b/linkerd/service-profiles/Cargo.toml @@ -28,7 +28,7 @@ regex = "1" tokio = { version = "1", features = ["macros", "rt", "sync", "time"] } tokio-stream = { version = "0.1", features = ["sync"] } tonic = { version = "0.7", default-features = false } -tower = { version = "0.4", features = ["ready-cache", "retry", "util"] } +tower = { version = "0.4.13", features = ["ready-cache", "retry", "util"] } thiserror = "1" tracing = "0.1" pin-project = "1"