Allow for undefined OldImage in Dynamo stream events #139606
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.
Description
We create Kafka messages from AWS event streams, which can be triggered by activity in DynamoDB. Usually, the event contains both a "before" and "after" of the object - but when the event is an insert, there is no "before". That is,
event.Records[n].dynamodb.OldImage
will beundefined
. Unless we account for this, it will cause an error when we attempt to unmarshall it.This is a low-impact bug; subsequent updates to that record will go through just fine, because they will have an OldImage. This PR just cleans up the initial edge case.
Related ticket(s)
CMDCT-3431
How to test
🤷♂️ I guess we just merge it, and then watch the logs from our postKafkaData lambda?
Notes
n/a
Pre-review checklist
[ ] I have updated relevant documentation, if necessaryPre-merge checklist
Review
[ ] Design: This work has been reviewed and approved by design, if necessary[ ] Product: This work has been reviewed and approved by product owner, if necessarySecurity
If either of the following are true, notify the team's ISSO (Information System Security Officer).
[ ] These changes are significant enough to require an update to the SIA.[ ] These changes are significant enough to require a penetration test.