Hi, Ramin Regarding the `materialized-table.default-freshness.full `, I think 1 hour may be more suitable. In offline data warehouse, the hour partition is a common case.
Best, Ron Ramin Gharib <[email protected]> 于2025年10月13日周一 19:05写道: > Hi all, > > Thanks again for the excellent feedback on FLIP-551. The discussion has > been very helpful, and I've made some updates to the proposal based on your > input. > > I’d like to highlight three key changes: > > > 1. Added Separate Default Configurations for FULL and CONTINUOUS Modes > > Based on Feng's feedback, I've updated the proposal to include two separate > configuration options: > - materialized-table.default-freshness.continuous (default: 3 min) > - materialized-table.default-freshness.full (default: 15 min (TBD)) > > This correctly handles the edge case where a user specifies REFRESH_MODE = > FULL without a FRESHNESS and ensures a sensible, mode-specific default is > always applied. A new user journey has been added to the FLIP to make this > behavior clear. > > > 2. Simplified the MaterializedTableEnricher Interface > > After further review of the architecture, I've simplified the > MaterializedTableEnricher interface significantly. It now has a single > enrich(CatalogMaterializedTable) method. > > This makes the design much cleaner and more atomic. The enricher now > receives all the context it needs directly from the unresolved > CatalogMaterializedTable object itself. As a result, the separate > RefreshContext class is no longer necessary, simplifying the overall API. > > > Cheers, > > Ramin > > On Mon, Oct 6, 2025 at 2:18 PM Ramin Gharib <[email protected]> wrote: > > > Hi everyone, > > > > I would like to start a discussion on FLIP-551 [1], which proposes making > > the FRESHNESS clause optional for Materialized Tables. > > > > The goal is to simplify the user experience for common streaming cases > and > > to enable more powerful, platform-level default logic. > > > > The proposal achieves this by: > > > > 1. > > > > Making the FRESHNESS DDL clause optional, falling back to a sensible > > default of 1 minute. > > 2. > > > > Introducing a new, MaterializedTableEnricher interface for custom > > logic to resolve the final Freshness and RefreshMode into the > > ResolvedCatalogMaterializedTable when they are omitted. > > > > This change reduces boilerplate for users while providing a clean > > extension point for advanced use cases. The complete architectural > details > > and API are in the FLIP. > > > > I'm looking forward to hearing your feedback. > > > > [1] > > > https://cwiki.apache.org/confluence/display/FLINK/FLIP-551%3A+Make+FRESHNESS+Optional+for+Materialized+Tables > > > > Thanks, > > > > Ramin > > >
