Sync endpoints before starting HTTP server #759
Merged
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.
Signed-off-by: Alex Ellis (OpenFaaS Ltd) [email protected]
Description
Sync endpoints before starting HTTP server
Motivation and Context
The HTTP server which is used for CRUD and invocations should
not be started until the cached informers for endpoints is
ready. This may be related to issue #749
The cache sync duration is now being logged and measured for
users to provide logs and additional information.
How Has This Been Tested?
With several thousand pods and varying levels of replicas I was unable to reproduce a 404 error with the operator, using hey to generate traffic, and Prometheus to monitor status codes.
The following new logs are present in addition to the wait upon start-up:
When the wait statement was before the informers were started, the output read "Endpoints synced? true" and the sync returned immediately, so this seems to be making progress.
Types of changes