catalog-rebuild¶
Rebuilds the strategy catalog-index cache from source (experiment runs + authored manifest + ACTIVE pointers) so the browse/leaderboard API serves fresh data without scanning on every request.
Overview¶
| Property | Value |
|---|---|
| Trigger | EventBridge scheduled event |
| Runtime | Python 3.11 |
| Purpose | Periodic drift backstop for the catalog-index cache |
It invokes the backend POST /api/v1/catalog/rebuild route, which calls CatalogService.rebuild_index().
Behavior¶
The rebuild is strict and all-or-nothing. It enumerates every strategy from all sources, and if any source (MLflow runs, the strategy manifest, or the ACTIVE-pointer / Release reads) is unavailable it aborts before any upsert or eviction (the route returns 503) rather than pruning valid rows during an outage.
- Upsert the resolved catalog row for every strategy enumerated from source.
- Evict index rows whose strategy no longer exists in source (orphan cleanup) — only when the source read was verified complete.
- 503 on an incomplete source read: no rows changed; the scheduled invocation retries.
Output Schema¶
Related¶
- Backend Service — owns the
/catalog/rebuildroute andCatalogService. - orphan-scanner — the analogous ECS-task cleanup Lambda.