Serving stale metadata can be worse than serving slow queries. Slow is visible. Stale can look correct until a decision depends on it.

Refresh semantics shape trust

StarRocks can query Iceberg through external catalogs and caches metadata to accelerate access. That cache is useful, but it creates an operating question: when does the serving layer know that the catalog view is fresh enough?

For Iceberg-backed data products, refresh behavior is not only a tuning parameter. It is part of the consumer promise. If a dashboard, API, or agent depends on a table, the team needs evidence that StarRocks saw the right metadata at the right time.

Core idea: External catalog refresh evidence connects serving SLAs to the metadata state behind every query.

Metadata cache behavior needs an audit trail

The StarRocks Iceberg catalog documentation describes metadata caching for Iceberg. StarRocks also documents REFRESH EXTERNAL TABLE for updating cached metadata.

That gives operators a concrete evidence layer. A serving incident can include the query profile, external catalog, table snapshot, refresh command or background refresh state, and the time StarRocks last observed the table metadata.

Patterns that work

  • Define freshness SLAs separately for data arrival, Iceberg snapshot publication, and StarRocks metadata visibility.
  • Record manual refresh commands and background refresh intervals as operational events.
  • Expose query profiles with catalog and table identifiers for incident review.
  • Use Iceberg metadata tables where available to cross-check snapshot and manifest state.
  • Document when consumers must wait for refresh before treating a data product as current.

For adjacent ODI context, read StarRocks query profiles, StarRocks catalog drift checks, Iceberg manifest evidence.

What breaks first

  • A pipeline publishes a new snapshot, but the serving layer still plans against cached metadata.
  • Operators refresh a table manually but do not record why or which consumer was affected.
  • SLA dashboards track query latency while ignoring metadata freshness.
  • An agent answers from a serving endpoint without knowing which table state it saw.

Questions to ask

  • What is the maximum allowed lag between Iceberg commit and StarRocks visibility?
  • How are manual refreshes recorded and reviewed?
  • Can a consumer see the metadata freshness state behind a query?
  • Which incidents require refresh evidence in the review packet?

Sources to start with

These primary sources anchor the technical claims in this guide.

Freshness is not a promise until the serving layer can prove what it saw.