Files
lancedb/rust
Wyatt AltandClaude Fable 5 4c15a20222 fix: stop trusting the watermark beyond what it proves
The watermark now carries two witnesses recorded atomically with it: the
view version its refresh produced (predicted, then verified, so a racing
commit cannot leave it pointing at someone else's work) and the commit
timestamp of the watermark's source manifest. Any later view commit or a
source whose manifest timestamp disagrees -- a dropped and recreated table
reuses version numbers, never timestamps -- invalidates the watermark and
the refresh rebuilds instead of reporting NoOp over stale rows.

Refreshes of one view are also serialized within the process by a per-view
lock, closing the same-watermark double-append; cross-process remains the
caller's boundary, stated in the module docs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-16 18:59:32 -07:00
..