Skip to content

Commit 8e8dfb1

Browse files
Add documentation for skip_feature_view_validation parameter
Co-authored-by: franciscojavierarceo <4163062+franciscojavierarceo@users.noreply.github.com>
1 parent d4fe780 commit 8e8dfb1

File tree

2 files changed

+60
-1
lines changed

2 files changed

+60
-1
lines changed

docs/reference/beta-on-demand-feature-view.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,4 +309,44 @@ There are new CLI commands to manage on demand feature views:
309309
feast on-demand-feature-views list: Lists all registered on demand feature views after feast apply is run.
310310
feast on-demand-feature-views describe [NAME]: Describes the definition of an on demand feature view.
311311

312+
## Troubleshooting
313+
314+
### Validation Issues with Complex Transformations
315+
316+
When defining On Demand Feature Views with complex transformations, you may encounter validation errors during `feast apply`. Feast validates ODFVs by constructing random inputs and running the transformation function to infer the output schema. This validation can sometimes be overly strict or fail for complex transformation logic.
317+
318+
If you encounter validation errors that you believe are incorrect, you can skip feature view validation:
319+
320+
**Python SDK:**
321+
```python
322+
from feast import FeatureStore
323+
324+
store = FeatureStore(repo_path=".")
325+
store.apply([my_odfv], skip_feature_view_validation=True)
326+
```
327+
328+
**CLI:**
329+
```bash
330+
feast apply --skip-feature-view-validation
331+
```
332+
333+
{% hint style="warning" %}
334+
Skipping validation bypasses important checks. Use this option only when the validation system is being overly strict. We encourage you to report validation issues on the [Feast GitHub repository](https://github.com/feast-dev/feast/issues) so the team can improve the validation system.
335+
{% endhint %}
336+
337+
**When to use skip_feature_view_validation:**
338+
- Your ODFV transformation uses complex logic that fails the random input validation
339+
- You've verified your transformation works correctly with real data
340+
- The validation error doesn't reflect an actual issue with your transformation
341+
342+
**What validation is skipped:**
343+
- Feature view name uniqueness checks
344+
- ODFV transformation validation via `_construct_random_input()`
345+
- Schema inference for features
346+
347+
**What is NOT skipped:**
348+
- Data source validation (use `--skip-source-validation` to skip)
349+
- Registry operations
350+
- Infrastructure updates
351+
312352

docs/reference/feast-cli-commands.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,32 @@ Creates or updates a feature store deployment
5151
feast apply
5252
```
5353

54+
**Options:**
55+
* `--skip-source-validation`: Skip validation of data sources (don't check if tables exist)
56+
* `--skip-feature-view-validation`: Skip validation of feature views. Use with caution as this skips important checks
57+
58+
```bash
59+
# Skip only data source validation
60+
feast apply --skip-source-validation
61+
62+
# Skip only feature view validation
63+
feast apply --skip-feature-view-validation
64+
65+
# Skip both validations
66+
feast apply --skip-source-validation --skip-feature-view-validation
67+
```
68+
5469
**What does Feast apply do?**
5570

5671
1. Feast will scan Python files in your feature repository and find all Feast object definitions, such as feature views, entities, and data sources.
57-
2. Feast will validate your feature definitions (e.g. for uniqueness of features)
72+
2. Feast will validate your feature definitions (e.g. for uniqueness of features). This validation can be skipped using the `--skip-feature-view-validation` flag if the type/validation system is being overly strict.
5873
3. Feast will sync the metadata about Feast objects to the registry. If a registry does not exist, then it will be instantiated. The standard registry is a simple protobuf binary file that is stored on disk \(locally or in an object store\).
5974
4. Feast CLI will create all necessary feature store infrastructure. The exact infrastructure that is deployed or configured depends on the `provider` configuration that you have set in `feature_store.yaml`. For example, setting `local` as your provider will result in a `sqlite` online store being created.
6075

76+
{% hint style="info" %}
77+
The `--skip-feature-view-validation` flag is particularly useful for On-Demand Feature Views (ODFVs) with complex transformations that may fail validation. However, use it with caution and please report any validation issues to the Feast team on GitHub.
78+
{% endhint %}
79+
6180
{% hint style="warning" %}
6281
`feast apply` \(when configured to use cloud provider like `gcp` or `aws`\) will create cloud infrastructure. This may incur costs.
6382
{% endhint %}

0 commit comments

Comments
 (0)