Expand description
Backfill-specific planning: ${backfill.*} token substitution and the stable
range hash the progress marker is keyed by.
The window planning itself lives in crate::chunking, shared with the
partition: block (#479) so both have one implementation and one set of
boundary tests. It is re-exported here unchanged, so every existing call site
and test keeps working against the moved code — which is what demonstrates
the move did not alter backfill’s behaviour.
Re-exports§
pub use crate::chunking::MAX_UNITS;pub use crate::chunking::TimeChunk as BackfillUnit;pub use crate::chunking::WARN_UNITS;pub use crate::chunking::WindowStep;pub use crate::chunking::parse_boundary;pub use crate::chunking::parse_window;pub use crate::chunking::plan_windows;
Functions§
- range_
hash - Deterministic 64-bit FNV-1a hash of the range descriptor, hex-encoded.
Keys the progress marker so
--resumefinds the same backfill across process restarts (std’sDefaultHasheris randomly seeded — unusable). - substitute_
unit_ tokens - Substitute
${backfill.*}tokens in every string leaf ofvalue:start/end(RFC3339),start_date/end_date(YYYY-MM-DD, local),start_unix/end_unix(epoch seconds),unit(the unit id). An unrecognized${backfill.*}token is a typo — typed error.