-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
etcd healthz, hotloop fixes #19992
etcd healthz, hotloop fixes #19992
Conversation
liggitt
commented
Jun 13, 2018
•
edited
Loading
edited
- fixes CPU hotloop in etcd client (pending upstream review, needs picking to our branch and update-deps)
- fixes etcd healthz check to use an actual client (makes it less vulnerable to spurious dns lookup timeouts)
- fixes typo in healthz filter exemption
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: liggitt 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 |
/retest |
@@ -43,7 +43,7 @@ func withAssetServerRedirect(handler http.Handler, accessor *webConsolePublicURL | |||
func (c *MasterConfig) withConsoleRedirection(handler, assetServerHandler http.Handler, accessor *webConsolePublicURLAccessor) http.Handler { | |||
return http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) { | |||
// blacklist well known paths so we do not risk recursion deadlocks | |||
for _, prefix := range []string{"/apis", "/api", "/oapi", "/healtz", "/version"} { |
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.
@simo5 awkward. :)
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.
Uups, I guess healthz was not the one that caused the loop :-)
c.RESTOptionsGetter = &storageFactoryRestOptionsFactory{Options: *s, StorageFactory: factory} | ||
return nil | ||
} | ||
|
||
func (s *EtcdOptions) addEtcdHealthEndpoint(c *server.Config) { | ||
func (s *EtcdOptions) addEtcdHealthEndpoint(c *server.Config) error { | ||
healthCheck, err := storagefactory.CreateHealthCheck(s.StorageConfig) |
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.
pre-existing, but if I called ApplyWithStorageFactoryTo
wouldn't I expect to use the StorageConfig that's available from the StorageFactory?
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.
yes, though we lack the information required to get the specific config to set up the health check here. I don't see that getting addressed as part of this
lgtm |
fix for cadvisor went in (sorry for that.) |
tagging per #19992 (comment) |
/retest |