[v23.2.x] http: Fix double call to stop() in http::client #18697
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Backport of #18304
http::client::stop() can be called twice in the event the client is used via the
with_client
method.The method had unconditionally called stop() in a finally clause with the intention to have users not have to manually do this and forget to call stop.
However stop() can also be called within certain exception handlers within methods invoked by http::client, ones that handle tls::verification_error exceptions.
This patch adds a boolean to our http client so that stop() can early exit if it has already been called.
(cherry picked from commit 2ed203d)
Fixes: https://redpandadata.atlassian.net/browse/CORE-2933
Backports Required
Release Notes
Bug Fixes