12.9Example where Upsert can be wrong
Suppose source sends:
{
"transactionId": null,
"amount": 100
}
and you attempt to identify records using:
customerId + amount
Two legitimate $100 transactions might occur.
Now your “idempotency” logic suppresses a valid transaction.
Important rule:
An idempotency key must identify the logical operation, not merely look unique most of the time.