haiku.rag/tests/cassettes
Yiorgis Gozadinos 2da294b850
Put multi-table writes behind one transaction boundary
Four call sites repeated lock, snapshot, try/except, restore. Each used
restore_table_versions, which restores in _tables() order — documents
first, contradicting RESTORE_TABLE_ORDER — and each caught Exception, so
a cancellation mid-write skipped rollback and left the earlier table
writes committed.

Store.write_transaction() holds the lock, snapshots under it, and rolls
back through _rollback_to_snapshot: RESTORE_TABLE_ORDER, shielded from
cancellation, absorbed cancellation re-delivered, rollback failure raised
with the original as cause. The two single-table update_meta sites keep
the bare lock.

The batch documents write moves inside the guarded body; it was outside
the try, so a failure there was never rolled back. Auto-vacuum is
scheduled after the transaction rather than inside it.

restore_table_versions is removed; those four sites were its only callers.
2026-08-19 14:05:40 +03:00
..
test_chunk Fix defects found reviewing the coverage work 2026-07-27 10:44:32 +03:00
test_chunker Store docling-serve chunk bodies via raw_text 2026-06-23 16:35:21 +03:00
test_client Close the source adapter one-shot ingestion builds 2026-08-19 13:14:21 +03:00
test_client_analyze replace haiku.skills with native Pydantic AI capabilities 2026-07-24 15:26:17 +03:00
test_context_enhancement replace haiku.skills with native Pydantic AI capabilities 2026-07-24 15:26:17 +03:00
test_converters Re-record remaining docling-serve cassettes against 1.25.0 2026-06-23 16:44:58 +03:00
test_database_autocreate Record cassettes for embedder, ignore huggingface while recording 2025-12-29 13:23:53 +02:00
test_document_tools Reach and enforce 100% coverage 2026-07-26 20:11:02 +03:00
test_duplicate_ingestion Re-check URI under the write lock to prevent duplicate ingestion 2026-07-08 11:26:45 +03:00
test_embedder Add Cohere multimodal embedder 2026-06-23 15:23:10 +03:00
test_filter Rename document_meta identity column document_id to id 2026-07-08 16:32:55 +03:00
test_picture_in_context auto-append /v1 to per-model Ollama base_url, fix flaky tests 2026-05-04 13:12:37 +03:00
test_read_only Search results now show rank position instead of raw scores. Consolidate cassettes 2026-01-21 14:54:15 +02:00
test_rebuild Refresh source-backed documents in place on a FULL rebuild 2026-08-19 13:06:39 +03:00
test_reranker Support for jina reranker, both local and API 2026-01-21 10:39:21 +02:00
test_revision_round_trip Pass fetched FetchResult to ingester metadata providers 2026-06-16 16:37:26 +03:00
test_s3_source cover s3 uri override, unsupported extension, watcher error path 2026-05-11 11:29:56 +03:00
test_sandbox Recover from worker death and deny metadata writes 2026-07-28 19:11:19 +03:00
test_search Pin FTS search column to content_fts 2026-04-24 14:42:53 +03:00
test_search_tools Report tool failures with ToolFailed 2026-07-27 18:26:42 +03:00
test_versioning Put multi-table writes behind one transaction boundary 2026-08-19 14:05:40 +03:00