-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat: Add DynamoDB in-place list update support for array-based features #5916
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
base: master
Are you sure you want to change the base?
feat: Add DynamoDB in-place list update support for array-based features #5916
Conversation
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.
a69361f to
45b218f
Compare
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.
|
Reviewing the devin analysis |
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.
c3d81ed to
eff9006
Compare
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.
eff9006 to
8221600
Compare
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.
franciscojavierarceo
left a comment
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.
one small nit but otherwise this lgtm
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.
This PR adds support for in-place list updates (append/prepend) for array-based features in DynamoDB online store, addressing issue feast-dev#5687. Key changes: - Add update_online_store() and update_online_store_async() methods to FeatureStore for list operations on existing feature values - Implement read-modify-write pattern in DynamoDB store to handle list operations while maintaining compatibility with existing protobuf serialization format - Add comprehensive tests for list append, prepend, mixed operations, and new entity handling The implementation uses a read-modify-write approach because existing data is stored as serialized protobuf bytes, not native DynamoDB lists. This maintains backward compatibility with existing online_read methods. Signed-off-by: Anshi Shrivastava <[email protected]>
Per reviewer feedback, removed the synchronous update_online_store method and renamed update_online_store_async to update_online_store. Signed-off-by: Anshi Shrivastava <[email protected]>
c1cf89c to
9dd1ab9
Compare
|
@franciscojavierarceo -Thanks for the feedback on leaving the async version - updated. Feel free to merge, good to go. |
Summary
Adds DynamoDB-specific list update functionality to avoid inefficient read-modify-write patterns for array-based features. This implements the solution requested in #5687.
Fixes #5687
Changes
update_online_store()andupdate_online_store_async()methods toDynamoDBOnlineStoreclassFeatureStoreclass for user-facing APIUpdateItemwithlist_appendexpressions for efficient array operationswrite_to_online_storebehaviorTesting
Usage Example