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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions