feast-dev / feast-dev/feast

dbt integration: Make TTL default configurable and increase default value

Open
#5,873 0 comments 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.