Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps): bump the examples-local-ratelimit group in /examples/local_ratelimit with 1 update #1111

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion examples/local_ratelimit/Dockerfile-nginx
Original file line number Diff line number Diff line change
@@ -1 +1 @@
FROM nginx@sha256:84c52dfd55c467e12ef85cad6a252c0990564f03c4850799bf41dd738738691f
FROM nginx@sha256:c26ae7472d624ba1fafd296e73cecc4f93f853088e6a9c13c0d52f6ca5865107
9 changes: 6 additions & 3 deletions source/common/http/conn_pool_grid.cc
Original file line number Diff line number Diff line change
Expand Up @@ -191,6 +191,9 @@ void ConnectivityGrid::WrapperCallbacks::cancelAllPendingAttempts(

absl::optional<ConnectivityGrid::StreamCreationResult>
ConnectivityGrid::WrapperCallbacks::tryAnotherConnection() {
if (grid_.destroying_) {
return {};
}
absl::optional<PoolIterator> next_pool = grid_.nextPool(current_);
if (!next_pool.has_value()) {
// If there are no other pools to try, return an empty optional.
Expand Down Expand Up @@ -236,10 +239,10 @@ ConnectivityGrid::ConnectivityGrid(
ConnectivityGrid::~ConnectivityGrid() {
// Ignore idle callbacks while the pools are destroyed below.
destroying_ = true;
// Callbacks might have pending streams registered with the pools, so cancel and delete
// the callback before deleting the pools.
wrapped_callbacks_.clear();
// Make sure to clear the pools (which deletes all active connections, and
// signals callers) before deleting callbacks.
pools_.clear();
wrapped_callbacks_.clear();
}

void ConnectivityGrid::deleteIsPending() {
Expand Down