diff --git a/CHANGELOG.md b/CHANGELOG.md index 9bee01c..5027a79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). ## [Unreleased] +### Fixed +- Add `wait(true)` to Qdrant upsert and delete operations for read-after-write consistency, fixing flaky `ingested_chunks_have_correct_payload` integration test (#567) + ## [0.11.1] - 2026-02-19 ### Added diff --git a/crates/zeph-memory/src/qdrant_ops.rs b/crates/zeph-memory/src/qdrant_ops.rs index f10bcb9..cc4d95f 100644 --- a/crates/zeph-memory/src/qdrant_ops.rs +++ b/crates/zeph-memory/src/qdrant_ops.rs @@ -98,7 +98,7 @@ impl QdrantOps { /// Returns an error if the upsert fails. pub async fn upsert(&self, collection: &str, points: Vec) -> QdrantResult<()> { self.client - .upsert_points(UpsertPointsBuilder::new(collection, points)) + .upsert_points(UpsertPointsBuilder::new(collection, points).wait(true)) .await .map_err(Box::new)?; Ok(()) @@ -134,7 +134,11 @@ impl QdrantOps { return Ok(()); } self.client - .delete_points(DeletePointsBuilder::new(collection).points(PointsIdsList { ids })) + .delete_points( + DeletePointsBuilder::new(collection) + .points(PointsIdsList { ids }) + .wait(true), + ) .await .map_err(Box::new)?; Ok(())