Skip to main content

columnar_consolidate_exchange

Function columnar_consolidate_exchange 

Source
pub fn columnar_consolidate_exchange<D, T, R>(
    (d, _, _): &Ref<'_, (D, T, R)>,
) -> u64
where D: Columnar, for<'a> Ref<'a, D>: Hash, T: Columnar, R: Columnar,
Expand description

Routes a (D, T, R) column for consolidation, by a fixed-seed AHash of its data column.

Worker assignment is hash % workers, so the low bits alone decide the split and the Hashable default (FNV) the other exchange functions use diffuses them poorly. The seed is fixed, so routing is identical across builds and replicas.

Spelled as a function rather than a closure over the hasher state, because the argument is higher-ranked in its lifetime and closure inference cannot express that.