Implements deterministic, coordination-free routing primitives per plan §2: - Rendezvous hashing (HRW) with seed 0 to match Meilisearch Enterprise - Topology management with node health state machine - Result merger with global sort, facet aggregation, offset/limit - Scatter orchestration primitives (stubbed execution) Key properties: - Determinism: all pods agree on assignments without gossip - Minimal reshuffling: adding node moves ~1/(Ng+1) of that group's docs - Group isolation: hashing scoped to intra-group node lists All acceptance tests pass: - Determinism across 1000 randomized runs - Reshuffle bounds on add/remove (≤2×1/4×S edges differ) - Uniform distribution (64 shards/3 nodes/RF=1 → 18-26 shards per node) - Top-RF placement stability - write_targets returns exactly RG×RF nodes - query_group distributes evenly - covering_set returns one node per shard with replica rotation - Merger passes all merge/facet/limit tests Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| benches | ||
| src | ||
| tests | ||
| Cargo.toml | ||