mirror of
https://github.com/qdrant/qdrant.git
synced 2026-08-01 15:40:53 -05:00
* Change `ClockMap` to always reject tick 0 * Enable rejecting operations in `LocalShard::update`... ...and propagate updated `clock_tick` back to the caller * WIP: Retry operation on *all* nodes (with new tick)... ...if *any* node rejected the operation * fixup! WIP: Retry operation on *all* nodes (with new tick)... Keep the same `clock` for the whole duration of `update` * Add update response status for clock rejection (#3725) * Add clock rejected update status * Don't hide internal items in docs * Propagate clock rejected status if operation clock is too old * Fix test in which we manually define clock ticks * Expect forward proxy rejection, node already has that operation * Add constant for first valid clock tick, init clocks in recovery point * In testing, advance all zero clocks to start ticking from 1 * Attempt to fix clock_set_clock_map_workflow * Rename WalError::Rejected to ClockRejected * Limit retry attempts when operation is rejected for an old clock tick * Don't log rejected clock tag if tick was 0 * Cleanup `ClockMap`/`RecoveryPoint` * Cleanup `ClockSet` and `ShardReplicaSet::update` * Fix `clock_set_clock_map_workflow` test * add debug assertions * fmt --------- Co-authored-by: Tim Visée <tim+github@visee.me> Co-authored-by: timvisee <tim@visee.me> Co-authored-by: generall <andrey@vasnetsov.com>