dbt integration: Make TTL default configurable and increase default value
- Dominant language
- Python
- Stars
- 7.3k
- Forks
- 1.4k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 15
Description
## Context
PR #5827 added dbt integration with TTL (time-to-live) for feature views.
## Problem
The default TTL is hardcoded to 1 day, which is very aggressive and may not be suitable for most production use cases. Many feature pipelines run weekly or have longer retention requirements.
## Current Behavior
```python
# In dbt_import.py:64-68
@click.option(
"--ttl-days",
type=int,
default=1, # Very short!
show_default=True,
help="TTL (time-to-live) in days for feature views",
)
```
## Proposed Changes
1. **Increase default to 7 days** - More reasonable for production use cases
2. **Make default configurable** - Allow users to set default in config file
3. **Add validation** - Warn if TTL is unusually short (< 1 day) or long (> 365 days)
## Example
```python
default=7, # More reasonable default
```
Or support config override:
```yaml
# feature_store.yaml
dbt:
default_ttl_days: 30
```
## Migration Note
This is a breaking change for users who relied on the 1-day default. Consider:
- Documenting the change in release notes
- Providing migration guide
- Adding deprecation warning in interim release
## Related
- PR #5827
Contributor guide
Assessment
This issue has not been assessed yet.