REP-5324 Normalize error handling. #59
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.
Reviewer note
While this is a regrettably large changeset, most of it is trivial changes like passing a context where previously the function used context.Background().
The check logic contains most of this PR’s “interesting” changes.
In certain cases migration-verifier would log on fatal errors rather than propagating them back up the call stack. This has led to failures to compare documents that were effectively ignored save for being noted in the log. This changeset fixes that so that such exceptional cases will halt the verification.
Broadly speaking, this changeset:
a) brings idiomatic Context propagation in places where context.Background() was used
b) converts Error() logs and “failed” task statuses to returned errors
As of this changeset, any task in “failed” indicates a mismatch rather than a failure to complete the check.
A separate changeset will introduce a retryer to FetchAndCompareDocuments.
Other, specific changes: