-
Notifications
You must be signed in to change notification settings - Fork 168
Closed
Labels
completedThis item is complete and has been merged/shippedThis item is complete and has been merged/shippedfeature-requestThis item refers to a feature request for an existing or new utilityThis item refers to a feature request for an existing or new utilityidempotencyThis item relates to the Idempotency UtilityThis item relates to the Idempotency Utility
Milestone
Description
Use case
Description of the feature request
Problem statement
Library users want to specify how long does the idempotency record should last. Once it's expired, the library should behave like there is no such record
Check the design spec for details.
Summary of the feature
- Add
expiresAfterSeconds
input - Cover edge cases:
- What if the record expires between
PersistenceLayer.saveInProgress()
andPersistenceLayer.saveSuccess()
? - How should
PersistenceLayer.saveInProgress()
override an expired items? - Is there any impact if
PersistenceLayer.getRecord()
return an expired item? Is there a logic for checking expiration in the library?
- What if the record expires between
Code examples
See the design spec
Story Checklist (for tracking progress)
TBD by an assignee
Definition of done
- Include unit tests with 100% code coverage (or where it makes sense)
In scope
- Errors handling
- Handling scenario of executions in sequence only
- Unit tests
Out of scope
- Making DynamoDB table deletes the expired key automatically. (This is in the infra code that library user must specify TTL key)
- End to End tests (Maintenance: write end-to-end tests for the utility #1098)
- Documentation (Docs: write main docs for the utility #1101, Docs: mark the utility as public in the
package.json
file #1102) - Examples (Docs: refresh examples #1103)
- Github actions and CI/CD pipelines (Maintenance: integrate into CI/CD package measurement #1099)
- API docs (Docs: create API docs #1104)
Related issues, RFCs
Solution/User Experience
See #447
Alternative solutions
N/A
Acknowledgment
- This feature request meets Lambda Powertools Tenets
- Should this be considered in other Lambda Powertools languages? i.e. Python, Java
Metadata
Metadata
Assignees
Labels
completedThis item is complete and has been merged/shippedThis item is complete and has been merged/shippedfeature-requestThis item refers to a feature request for an existing or new utilityThis item refers to a feature request for an existing or new utilityidempotencyThis item relates to the Idempotency UtilityThis item relates to the Idempotency Utility