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.
In order to use parallel.Enqueue() it is required to call parallel.SetMaxThreads() first. However in our main call we have been doing this after we setup the initial runtime so just move this up. And while at it move up the cpu and memory profile setup as well so we can capture the earlier parts as well.
This was most likely introduced by commit 46d874a ("Refactor graph traversal & use for pod stop") which started using parallel.Enqueue() in removePod() which then can get called from refresh() when a container has autoremoval configured.
I tried many hard resets in VMs to reproduce but was unable to do so. I always got "retrieving temporary directory for container xxx: no such container" erros instead and it failed to autoremove but no panics. Besides that many times c/storage was corrupted which made the image I used unusable and it had to be deleted which is concerning in itself.
Fixes #26469
Does this PR introduce a user-facing change?