Skip to content
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

win_updates - use pipe for progress output and fix some connection stability problems #536

Merged
merged 1 commit into from
Aug 10, 2023

Conversation

jborean93
Copy link
Collaborator

SUMMARY

This PR fixes a bunch of issues with win_updates in regards to temporary files, read/connection issues during polling, and some deadlocks. It also tries to expose more unknown issues back to the user and expand on the debug logs in case of any more complex failures.

Fixes #190 - the polling stage does a retry on a connection error/read timeout
Fixes #264 - same as above
Fixes #463 - I wasn't able to replicate the problem but the way the async tasks have changed should mitigate this problem
Fixes #524 - The progress output and wait mechanism has been completely rewritten
Fixes #527 - The bootstrapping code has been rewritten, if still a problem it should be returned back to the user

ISSUE TYPE
  • Bugfix Pull Request
COMPONENT NAME

win_updates

@jborean93 jborean93 changed the title Win updates pipe win_updates - use pipe for progress output and fix some connection stability problems Aug 7, 2023
@jborean93 jborean93 force-pushed the win_updates-pipe branch 2 times, most recently from ddb2a01 to 2d9ec01 Compare August 9, 2023 09:42
@jborean93 jborean93 marked this pull request as ready for review August 9, 2023 09:42
Changes the win_updates progress handler to use an ephemeral named pipe
instead of temporary files. This should fix up problems with the action
plugin trying to cleanup the file on a failure as there is now nothing
to cleanup.

The logging mechanism for the module has also been expanded to cover
more scenarios around the background process that was missing before.
This should make it more viable to debug failing scenarios than it was
before.

More error handling around broken connections or other connection
problems that installing updates can introduce have been added. It
should make the update process more resiliant than before.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment