mz_storage::render::persist_sink

Function mint_batch_descriptions

Source
fn mint_batch_descriptions<G>(
    scope: &G,
    collection_id: GlobalId,
    operator_name: &str,
    target: &CollectionMetadata,
    desired_collection: &Collection<G, Result<Row, DataflowError>, Diff>,
    persist_clients: Arc<PersistClientCache>,
) -> (Stream<G, (Antichain<Timestamp>, Antichain<Timestamp>)>, Stream<G, (Result<Row, DataflowError>, Timestamp, Diff)>, PressOnDropButton)
where G: Scope<Timestamp = Timestamp>,
Expand description

Whenever the frontier advances, this mints a new batch description (lower and upper) that writers should use for writing the next set of batches to persist.

Only one of the workers does this, meaning there will only be one description in the stream, even in case of multiple timely workers. Use broadcast() to, ahem, broadcast, the one description to all downstream write operators/workers.