mirror of
https://github.com/AstrBotDevs/AstrBot
synced 2026-07-16 01:40:15 +08:00
* fix: roll back document rows when FAISS insert fails Validate embedding shape/dimension before local writes. If DocumentStorage commits but FAISS write fails, best-effort delete the partial FAISS ids and document rows so the two stores do not diverge. * fix: clean up partial KB upload state before metadata commit Track metadata_committed right after commit succeeds. On failure before metadata commit, roll back chunks/vectors first, then residual KB rows and media files. After metadata is committed, keep the document even if stats or refresh fails. * test: cover knowledge base upload atomicity and rollback Add unit tests for insert_batch FAISS failure rollback, dimension validation before document writes, upload cleanup order, no-rollback after metadata commit, and real DocumentStorage+FAISS no-orphan cases. * fix: log media directory cleanup failures after upload rollback Best-effort rmdir of the per-document media directory should still emit a warning when removal fails so incomplete cleanup is diagnosable.