[nonGallery] Adjust try blocks in TFM backfill, repair empty TFM metadata case #8531
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.
Logic tweak--exceptions were still sneaking through because the try block for harvesting TFMs only surrounded the method call doing the extraction - it didn't surround the loop enumerating them. The collection is
IEnumerable
, so of course throwing can still take place while enumerating. The diffing isn't great here, but that's what's happening inUpdatePackage
. Forcing another enumerationToList
is for the same reason.Also, the case where no TFMs were being persisted to the metadata file was throwing on the update cycle. I needed to null the
MissingFieldFound
action on the csvReader (this instruction comes from the exception thrown by csvReader). The null case is covered in update code so this fixed the issue.