-
Notifications
You must be signed in to change notification settings - Fork 592
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
http: Fix double call to stop() in http::client #18304
http: Fix double call to stop() in http::client #18304
Conversation
new failures in https://buildkite.com/redpanda/redpanda/builds/48827#018f58a1-ea7e-45e9-81fe-4ce763ff34a1:
new failures in https://buildkite.com/redpanda/redpanda/builds/48827#018f58b2-3f1f-471b-8dcf-0a8fce322c66:
new failures in https://buildkite.com/redpanda/redpanda/builds/48827#018f58b2-3f17-44fe-8ea4-4f14c2f045b9:
new failures in https://buildkite.com/redpanda/redpanda/builds/48827#018f58b2-3f1a-4b5f-bc05-169518a15653:
new failures in https://buildkite.com/redpanda/redpanda/builds/48827#018f58b2-3f1d-4865-8855-a9cf5067b543:
new failures in https://buildkite.com/redpanda/redpanda/builds/48827#018f58a1-ea7c-48cd-99f2-fa992d9bd444:
|
- 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.
9af4e5a
to
2ed203d
Compare
ducktape was retried in https://buildkite.com/redpanda/redpanda/builds/48845#018f59ac-5ede-4063-9d19-5108c743fc40 ducktape was retried in https://buildkite.com/redpanda/redpanda/builds/48888#018f5df5-2852-4690-8c9a-a4eef8715f44 |
/backport v24.1.x |
/backport v23.3.x |
/backport v23.2.x |
Failed to create a backport PR to v23.3.x branch. I tried:
|
Failed to create a backport PR to v23.2.x branch. I tried:
|
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 skips the call to stop() in the event a tls::verification_error exception was encountered.
Backports Required
Release Notes
Bug Fixes