(bugfix) Avoid live filesystem scans for backup data summaries #97

Closed
opened 2026-06-08 22:40:00 +02:00 by parkel · 0 comments
Owner

Dashboard, hosts list, and host detail currently derive backup data by walking snapshot trees when stored snapshot metadata is missing or incomplete. On large backup targets this can turn ordinary web requests and live-refresh partials into unbounded filesystem scans, causing slow pages and possible OOMs.

Acceptance criteria:

  • Web views do not call full-tree storage scans while rendering dashboard, hosts list, or host detail.
  • Missing or stale snapshot storage metadata is represented as unknown/not measured instead of being recomputed synchronously.
  • Existing stored snapshot metadata is still used for displayed totals where available.
  • Tests guard against accidental tree_usage() calls from stats summary rendering paths.
  • UI copy avoids implying live measurement when values come from stored metadata.

Follow-up work for periodic/cached refresh is tracked separately.

Dashboard, hosts list, and host detail currently derive backup data by walking snapshot trees when stored snapshot metadata is missing or incomplete. On large backup targets this can turn ordinary web requests and live-refresh partials into unbounded filesystem scans, causing slow pages and possible OOMs. Acceptance criteria: - Web views do not call full-tree storage scans while rendering dashboard, hosts list, or host detail. - Missing or stale snapshot storage metadata is represented as unknown/not measured instead of being recomputed synchronously. - Existing stored snapshot metadata is still used for displayed totals where available. - Tests guard against accidental `tree_usage()` calls from stats summary rendering paths. - UI copy avoids implying live measurement when values come from stored metadata. Follow-up work for periodic/cached refresh is tracked separately.
parkel added this to the 1.4 milestone 2026-06-08 22:40:00 +02:00
parkel added the area: observabilitybugfix labels 2026-06-08 22:40:00 +02:00
Sign in to join this conversation.