feat: add multiple join keys support for entities#5753
Open
ArtemioPadilla wants to merge 7 commits intofeast-dev:masterfrom
Open
feat: add multiple join keys support for entities#5753ArtemioPadilla wants to merge 7 commits intofeast-dev:masterfrom
ArtemioPadilla wants to merge 7 commits intofeast-dev:masterfrom
Conversation
1dca667 to
2bb77cd
Compare
- Add repeated string join_keys field to EntitySpecV2 - Add deprecation notice to existing join_key field - Maintain backward compatibility with existing protobuf messages Signed-off-by: Artemio Padilla <artemiopadilla@gmail.com> Signed-off-by: Artemio Padilla <artemio.padilla@circulodecredito.com.mx>
- Add join_keys List[str] attribute to Entity class - Implement backward-compatible join_key property with deprecation warning - Update __hash__, __eq__, __repr__ methods for multiple keys - Enhance to_proto() and from_proto() methods for dual compatibility Signed-off-by: Artemio Padilla <artemiopadilla@gmail.com> Signed-off-by: Artemio Padilla <artemio.padilla@circulodecredito.com.mx>
- Update feature_store.py to collect all join keys from entities - Update utils.py join key collection for feature view operations - Maintain backward compatibility in entity mappings - Enhance protobuf conversion for multiple join keys Signed-off-by: Artemio Padilla <artemiopadilla@gmail.com> Signed-off-by: Artemio Padilla <artemio.padilla@circulodecredito.com.mx>
- Update Entity struct with JoinKeys []string field - Add backward-compatible JoinKey() method - Update NewEntityFromProto() with proper fallback logic - Fix direct field access in serving.go Signed-off-by: Artemio Padilla <artemiopadilla@gmail.com> Signed-off-by: Artemio Padilla <artemio.padilla@circulodecredito.com.mx>
- Add tests for multiple join keys creation
and access
- Add deprecation warning tests for
property access and protobuf
- Add backward compatibility validation
tests
- Add protobuf
serialization/deserialization tests
- Verify hash and equality operations with
multiple keys
Signed-off-by: Artemio Padilla <artemiopadilla@gmail.com>
Signed-off-by: Artemio Padilla <artemio.padilla@circulodecredito.com.mx>
- Create practical code examples demonstrating new functionality - Show backward compatibility patterns - Demonstrate migration from legacy code - Include best practices and common use cases Signed-off-by: Artemio Padilla <artemiopadilla@gmail.com> Signed-off-by: Artemio Padilla <artemio.padilla@circulodecredito.com.mx>
- Regenerate Python protobuf files after rebase - Update Entity protobuf bindings with new join_keys field - Ensure compatibility with upstream codebase changes Signed-off-by: Artemio Padilla <artemiopadilla@gmail.com> Signed-off-by: Artemio Padilla <artemio.padilla@circulodecredito.com.mx>
2bb77cd to
130195b
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
Add support for multiple join keys in Feast entities, resolving the long-standing limitation that prevented entities from having more than one join key.
Fixes the error:
ValueError: An entity may only have a single join key. Multiple join keys will be supported in the future.Changes Made
join_keysfield to Entity protobuf with backward compatibilityBackward Compatibility
join_keysfieldTesting