Fixes #36914 - skip missing hosts during applicability generate #10796
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.
What are the changes introduced in this pull request?
Adds error handling to the block in BulkGenerate that calculates applicability for all hosts.
The issue here is that we cannot use resource locking because it's a list of hosts. So, we can't stop hosts from being deleted during applicability calculation.
We thought we handled this before with am existence check, but turns out some folks still hit the issue because the host is deleted part way through
calculate_and_import_applicability
.NoMethodError and all PG errors are handled here to cover our bases but not be too broad. Plus the errors are raised back to the logs so debugging shouldn't be too much harder.
Also makes bulk generate skip itself on an error so the task doesn't get paused.
Considerations taken when implementing this change?
I don't see any reason why applicability generation needs to result in a paused task. I don't see it causing a data integrity issue.
What are the testing steps for this pull request?
calculate_and_import_applicability