Fix error in match & allocate service crashing app #869
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.
https://eaflood.atlassian.net/browse/WATER-4375
Spotted whilst working on Fix licence issues failing to insert for review. When
PersistAllocatedLicenceToResultsService
errored trying to insert a record it was causing an uncaught exception that was crashing the app.After investigating the issue we have spotted it is because
MatchAndAllocateService
is using aforEach()
to call asynchronous code.If we switch to a
for...of
loop instead any errors thrown within the loop, even fromPersistAllocatedLicenceToResultsService
get caught as expected by the top leveltry/catch
inProcessBillRun
and the bill run marked as errored.Also, whilst looking into this we spotted that
DetermineLicenceIssuesService
has been madeasync
even though it is doing nothing asynchronous. We use this opportunity to fix that as well.