-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Fix initializations and terminations of http servers #13723
Conversation
Signed-off-by: David Hadas <[email protected]>
Codecov ReportPatch coverage has no change and project coverage change:
Additional details and impacted files@@ Coverage Diff @@
## main #13723 +/- ##
==========================================
- Coverage 86.10% 86.02% -0.09%
==========================================
Files 199 199
Lines 14796 14815 +19
==========================================
+ Hits 12740 12744 +4
- Misses 1752 1768 +16
+ Partials 304 303 -1
... and 3 files with indirect coverage changes Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here. ☔ View full report in Codecov by Sentry. |
Tests fail. Is this due to admin being removed when tlsAdmin was used? Do we require both? |
Signed-off-by: David Hadas <[email protected]>
Signed-off-by: David Hadas <[email protected]>
Signed-off-by: David Hadas <[email protected]>
Signed-off-by: David Hadas <[email protected]>
@nak3, any thoughts on why the tests are failing following g the change? |
pkg/queue/sharedmain/main.go
Outdated
for name, server := range httpServers { | ||
go func(name string, s *http.Server) { | ||
for _, s := range srvs { | ||
go func(s service) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we use errGroup to fail here if any of the server fails?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
errGroup waits for all to terminate (and present the first error). We seem to not have a reason to use it here.
We will still need the errChan to signal when any one of them had an error.
During shutdown, we use synchronous Shutdowns (one by one).
in both cases seems we do not need to wait for all to terminate asynchronously
|
What do we need Looking into Drainer, my understanding is that the Another way to put this is that admin is always an HTTP service - never a TLS one. |
…ers, moved to struct service being returned from build* functions Signed-off-by: David Hadas <[email protected]>
Signed-off-by: David Hadas <[email protected]>
/assign @davidhadas |
Moved to a single build* functions are now returning a service struct We now have a simpler logic where we just add services as needed to our array depending on the different flags. |
Signed-off-by: David Hadas <[email protected]>
/retest |
1 similar comment
/retest |
/test istio-latest-no-mesh |
/retest |
/hold |
The handler refactor merged - #13815 You should be able to rebase your changes. There might be some overlap - one that's still unique to this PR is introduce a deadline for shutdown. |
9f070f6
to
8d8c39e
Compare
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: davidhadas, nak3, ReToCode The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
1 similar comment
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: davidhadas, nak3, ReToCode The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@dprotaso rebased |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still think that it's much easier to reason which servers support TLS by having it declarative vs. changing the builders and having an opaque list.
I'm prioritizing readibility over repitition in this instance.
Can we just scope this PR to introducing a shutdown time limit?
@dprotaso Was this bug fixed and tested by #13815 ? If it did, then we can do without this PR. |
Yup - The fix was here This line should have been removed in an earlier refactor. |
Closing this PR as #13720 (comment) was solved |
Fixes #13720
Bug fixes for server initialization and termination.
admin
service whentlsAdmin
is used