-
Notifications
You must be signed in to change notification settings - Fork 4
Refactor ManagedEntry serialization with adapter pattern #184
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 23 commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
796e8ec
refactor: implement serialization adapter pattern for MongoDB and Red…
github-actions[bot] 0ab6766
refactor: consolidate serialization adapters into shared module
github-actions[bot] 49cf605
refactor: move store-specific serialization adapters into store modules
github-actions[bot] 714b0cb
Refactor serialization
strawgate 17743fe
Updates for tests
strawgate 0dbf7d6
More clean-up
strawgate 8c4b6d3
PR Cleanup
strawgate 59cbaee
fix redis type checks
strawgate 2cb6d1a
Finish refactor
strawgate 3ffd540
typecheck fixes
strawgate e519537
Merge branch 'main' into claude/issue-165-20251029-0155
strawgate 194bc94
Fix typecheck
strawgate d62a400
Fixes for store tests
strawgate 7b9229b
Fix for dynamo tests
strawgate 935222b
Small store fixes
strawgate 216eaad
fix codegen
strawgate 9feeba6
fix valkey tests
strawgate 30aebe2
Remove ValueOnlySerializer
strawgate ea90880
Fix windows tests
strawgate 65a365b
PR Feedback
strawgate e648e68
codegen
strawgate 5d41ae7
small pr updates
strawgate cabd1b4
cleanup test warnings
strawgate 39124b7
Fewer errors for Vault
strawgate eb94c25
block incompatible adapter settings
strawgate 5ba24e5
fix: use expires_at directly for DynamoDB TTL timestamp
github-actions[bot] bdebfda
Add message to assert
strawgate 26d4421
Widen allowed gap for TTL response from store
strawgate c6166aa
codegen too
strawgate File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Potential TTL handling bug: unconditional overwrite of
expires_at.After deserializing the JSON (which should include
expires_atif present), the code unconditionally overwritesexpires_atwith the value from DynamoDB'sttlfield. This creates several issues:expires_atis already in the JSON (as expected with the new serialization adapter), reading from thettlfield is unnecessary.ttlfield and JSONexpires_atcould drift out of sync, leading to incorrect expiration behavior.expires_atin JSON, it should conditionally setexpires_atonly when it'sNone.This may be related to the TTL failures mentioned in the PR comments for older dependency versions.
Consider this approach for backwards compatibility:
Alternatively, if the DynamoDB
ttlfield is the source of truth, removeexpires_atfrom the JSON serialization entirely to avoid duplication.🤖 Prompt for AI Agents