Skip to content

dbt integration: Make TTL default configurable and increase default value #5873

@YassinNouh21

Description

@YassinNouh21

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

# 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

default=7,  # More reasonable default

Or support config override:

# 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions