Fix overly broad exception conversion in LambdaFunction.invoke
#6394
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.
Motivation and context
The intent of the
try
/except
statement is to catch accesses to missing members of thedata
dictionary, but due to the large amount of code in thetry
block, it may end up catching entirely unrelatedKeyError
s. Those unrelatedKeyError
s should not be converted toValidationError
s, since they might not have anything to do with input validation, and the conversion will make it harder to debug these exceptions.An example of these misapplied conversions is a recent bug where a
KeyError
was coming from inside_get_image
(fixed by f6420eb).To fix this, make sure to only catch
KeyError
s emitted by accesses todata
.How has this been tested?
I manually checked that a) invoking functions still works, and b) omitting required parameters still results in a 400 error.
Checklist
develop
branch[ ] I have updated the documentation accordingly[ ] I have added tests to cover my changes[ ] I have increased versions of npm packages if it is necessary(cvat-canvas,
cvat-core,
cvat-data and
cvat-ui)
License
Feel free to contact the maintainers if that's a concern.