-
Notifications
You must be signed in to change notification settings - Fork 364
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
[Backport release-1.30] Applier manager improvements #5172
base: release-1.30
Are you sure you want to change the base?
[Backport release-1.30] Applier manager improvements #5172
Commits on Oct 30, 2024
-
The stacks don't need to be stored in the manager struct
The map is only ever used in the loop to create and remove stacks, so it doesn't need to be stored in the struct. This ensures that there can't be any racy concurrent accesses to it. Signed-off-by: Tom Wieczorek <[email protected]> (cherry picked from commit ba547ed) (cherry picked from commit c6dba06)
Configuration menu - View commit details
-
Copy full SHA for 05a768b - Browse repository at this point
Copy the full SHA 05a768bView commit details -
Don't check for closed watch channels
The only reason these channels get closed is if the watcher itself gets closed. This happens only when the method returns, which in turn only happens when the context is done. In this case, the loop has already exited without a select on a potentially closed channel. So the branches that checked for closed channels were effectively unreachable during runtime. Signed-off-by: Tom Wieczorek <[email protected]> (cherry picked from commit db5e0d2) (cherry picked from commit 102b7e3)
Configuration menu - View commit details
-
Copy full SHA for b9fd9bd - Browse repository at this point
Copy the full SHA b9fd9bdView commit details -
Wait for goroutines to exit in applier manager
Rename cancelWatcher to stop and wait until the newly added stopped channel is closed. Also, add a stopped channel to each stack to do the same for each stack-specific goroutine. Signed-off-by: Tom Wieczorek <[email protected]> (cherry picked from commit 402c728) (cherry picked from commit dbc286c)
Configuration menu - View commit details
-
Copy full SHA for 95e5ec0 - Browse repository at this point
Copy the full SHA 95e5ec0View commit details -
Improve logging in applier manager
Cancel the contexts with a cause. Add this cause to the log statements when exiting loops. Rename bundlePath to bundleDir to reflect the fact that it is a directory, not a file. Signed-off-by: Tom Wieczorek <[email protected]> (cherry picked from commit edb105c) (cherry picked from commit a22902b)
Configuration menu - View commit details
-
Copy full SHA for 394198b - Browse repository at this point
Copy the full SHA 394198bView commit details -
Restart applier manager watch loop on errors
Exit the loop on error and restart it after a one-minute delay to allow it to recover in a new run. Also replace the bespoke retry loop for stacks with the Kubernetes client's wait package. Signed-off-by: Tom Wieczorek <[email protected]> (cherry picked from commit 404c6cf) (cherry picked from commit 3058460)
Configuration menu - View commit details
-
Copy full SHA for 87ce481 - Browse repository at this point
Copy the full SHA 87ce481View commit details -
Remove unused applier field from applier manager
Seems to be a remnant from the past. Signed-off-by: Tom Wieczorek <[email protected]> (cherry picked from commit c2beea7) (cherry picked from commit 4b2efbe)
Configuration menu - View commit details
-
Copy full SHA for 04ba246 - Browse repository at this point
Copy the full SHA 04ba246View commit details