Skip to main content

Module plan

Module plan 

Source
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 --resume finds the same backfill across process restarts (std’s DefaultHasher is randomly seeded — unusable).
substitute_unit_tokens
Substitute ${backfill.*} tokens in every string leaf of value: 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.