fix(qdrant): reject empty vectors in upsert_points
Prevent Qdrant from rejecting entire batches when any point has an empty vector. Log error with count before failing.
This commit is contained in:
parent
395832118e
commit
6a60d02263
@ -89,6 +89,16 @@ impl QdrantClient {
|
|||||||
return Ok(());
|
return Ok(());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Reject empty vectors — they cause Qdrant to reject the entire batch
|
||||||
|
let empty_vectors = points.iter().filter(|p| p.vector.is_empty()).count();
|
||||||
|
if empty_vectors > 0 {
|
||||||
|
tracing::error!(empty_count = empty_vectors, total = points.len(), "upsert_points: REJECTING points with empty vectors");
|
||||||
|
return Err(crate::AgentError::Qdrant(format!(
|
||||||
|
"refusing to upsert {} points with empty vectors",
|
||||||
|
empty_vectors
|
||||||
|
)));
|
||||||
|
}
|
||||||
|
|
||||||
let collection_name = Self::collection_name(&points[0].payload.entity_type);
|
let collection_name = Self::collection_name(&points[0].payload.entity_type);
|
||||||
self.upsert_to_collection(&collection_name, points).await
|
self.upsert_to_collection(&collection_name, points).await
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user