-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Description
Expected Behavior
On-write transformations in On-Demand Feature Views (ODFV) should be triggered when data is pushed to the online store using:
store.push()store.write_to_online_store()materialize()
This worked correctly in Feast version 0.43.
Current Behavior
Since Feast version 0.43, only the on-read transformations are triggered. On-write transformations do not update the online store as expected - the values remain None. The tested versions are 0.43,0.44,0.45,0.46,0.47,0.49 with a Python 3.10.3 venv, that contains only the dependencies of feast[redis,postgres].
Steps to Reproduce
I have created a minimal repo demonstrating this issue:
https://github.com/j-wine/feast-odfv-user-test
The repo uses a dockerized environment with:
- Python 3.10
- Feast 0.49
The test script performs:
push()to FeatureViewsget_online_features()- shows ODFV on-read works, but on-write values areNonewrite_to_online_store()- no change for on-write valuesmaterialize()- still no change
Example Output on Feast 0.49:
step 1: Push to basic FeatureViews
step 2: get_online_features post Push
product_id customer_id price_plus_revenue revenue_plus_one price_plus_rev
0 58 74 None None 50.0
step 3: write_to_online_store into basic feature view
res write_to_online:
product_id customer_id price_plus_revenue revenue_plus_one price_plus_rev
0 58 74 None None 50.0
Step 3: materialization
...
Step 4: get_online_features post materialization
product_id customer_id price_plus_revenue revenue_plus_one price_plus_rev
0 58 74 None None 50.0
Comparison Write-Time vs. Read-Time ODFV
price_plus_revenue: Missing (value: None)
revenue_plus_one: Missing (value: None)
Behavior in Feast 0.43:
Running the same test script with Feast 0.43 produces correct results - on-write transformations populate values properly. (Except for an old bug when using more than one entity in a fsv)
Specifications
- Version: 0.49
- Platform: Docker, Python 3.10.13, Ubuntu LTS / Ubuntu WSL
- Subsystem: ODFV on-write transformations
Possible Solution
Suspected cause (based on discussion with Francisco and my debugging):
- Integration tests might not fully cover this case.
- Potential gap in unit tests for on-write transformations.
Additional Context
Francisco confirmed unit tests pass but suspects an edge case.