Storage Tiering Service  ·  View 16 of 31  ·  5 · Runtime

One Classification Cycle

Four kinds of candidate go through the same six steps, and three of them end somewhere other than a movement.

Editable source SVG draw.io All views
Candidate Window Break-even Guards Record Plan Object ≥ 1 MB Idle 97 days last promoting read 90 d window met Saving 40× costs No hold · dwell met Recorded with odds Batch to warm Small-object cohort Folder · 41k objects all under 1 MB Window per folder Priced as one pack Guards per member One decision · 41k Pack build Periodic class Quarterly report idle 120 days 400 d window not met Decision: stay Under legal hold Custodian exports idle 3 years Window met Archive pays 11× Floor: immediate Refused and alerted One Classification Cycle — Four Kinds of Candidate The cycle reads the analytical replica. Every guard is checked again, against the catalogue itself, at the moment of commit (view 19). v 1.0 · owner Storage Platform Architecture · date 2026-09

Decisions

  • The observation window is declared per object class: 90 days by default, 400 days for classes declared periodic. An object is not evaluated until its window has elapsed, so a quarterly report is never mistaken for a cold one.
  • Objects under 1 MB are candidates only as folder cohorts and are priced as the pack they would become. The per-object overhead makes them unprofitable to move one at a time (ADR-17).
  • A refusal is a decision too. It is recorded with its inputs, and a refusal caused by a hold is counted and alerted, because a hold nobody knows is blocking a large saving is information the legal team should have.

Numbers

  • A full cycle over 9.2 billion placements in at most 6 hours, run as ClickHouse SQL over the catalogue replica and the aggregates, with the break-even arithmetic in Go on the candidate set.
  • The cycle's cost is published per run, so running it twice as often is a decision with a price attached.

What it deliberately does not read

  • The live catalogue. Guards are evaluated here for planning and then evaluated again, authoritatively, inside the commit transaction (view 19).