Skip to content

Comments

feat: Making transformer optional for ODFV#6011

Open
nquinn408 wants to merge 11 commits intofeast-dev:masterfrom
nquinn408:optional-transformer
Open

feat: Making transformer optional for ODFV#6011
nquinn408 wants to merge 11 commits intofeast-dev:masterfrom
nquinn408:optional-transformer

Conversation

@nquinn408
Copy link
Contributor

@nquinn408 nquinn408 commented Feb 24, 2026

@nquinn408 nquinn408 requested a review from a team as a code owner February 24, 2026 01:33
devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

@nquinn408 nquinn408 force-pushed the optional-transformer branch from 07dc0da to f769fac Compare February 24, 2026 03:05
nickquinn408 and others added 5 commits February 23, 2026 19:07
Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
This commit fixes three critical issues to properly support OnDemandFeatureViews without transformations:

1. on_demand_feature_view.py:
   - Allow feature_transformation to be None (passthrough mode)
   - Fix __init__ to not raise ValueError when both feature_transformation and udf are None
   - Only create FeatureTransformationProto when transformation exists
   - Add null checks before accessing feature_transformation

2. utils.py:
   - Fix passthrough ODFVs being skipped (continue at line 679-680)
   - Extract features from initial response for passthrough ODFVs
   - Unify transformed_features variable across all code paths
   - Fix aggregation results assignment

3. Java interop:
   - Ensures hasFeatureTransformation() in Java correctly returns false for passthrough ODFVs
   - Prevents unnecessary transformation service calls

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
The infer_features() method at line 979 was calling
self.feature_transformation.infer_features() without checking if
feature_transformation is None. This caused failures during 'feast apply'
for passthrough ODFVs (those without transformations).

Changes:
- Add early return for passthrough ODFVs if features are already defined
- Require explicit schema for passthrough ODFVs (cannot be inferred)
- Raise clear error message if passthrough ODFV has no schema
- Maintain existing behavior for ODFVs with transformations

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
@nquinn408 nquinn408 force-pushed the optional-transformer branch from f769fac to 94bc001 Compare February 24, 2026 03:24
Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
@nquinn408 nquinn408 force-pushed the optional-transformer branch from 94bc001 to 43980fe Compare February 24, 2026 03:26
devin-ai-integration[bot]

This comment was marked as resolved.

Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
devin-ai-integration[bot]

This comment was marked as resolved.

devin-ai-integration[bot]

This comment was marked as resolved.

nickquinn408 and others added 2 commits February 23, 2026 20:04
- Change feature_transformation type annotation to Optional[Transformation]
- Add type annotation and assertion for transformed_features in utils.py
- Convert aggregations to proto using to_proto() method
- Refactor OnDemandFeatureViewSpec construction to use direct arguments
  instead of **kwargs for better type inference

Fixes mypy errors:
- utils.py:747: transformed_features indexing
- on_demand_feature_view.py:259: None assignment to Transformation
- on_demand_feature_view.py:530+: OnDemandFeatureViewSpec type mismatches

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
@nquinn408 nquinn408 force-pushed the optional-transformer branch from a63020d to b9b38a1 Compare February 24, 2026 04:04
… mapping

Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
@nquinn408 nquinn408 force-pushed the optional-transformer branch from 0b53956 to befdd97 Compare February 24, 2026 04:07
devin-ai-integration[bot]

This comment was marked as resolved.

Signed-off-by: Nick Quinn <nicholas_quinn@apple.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants