ZVec Bug Silently Wiped Recovered Data After Crash, Fixed in 55 Hours
A bug in the ZVec in-process vector database caused silent data loss when optimize() was called on a collection that had recovered from an unclean process shutdown. The flaw stemmed from a write-ahead log (WAL) handle lifecycle error, where recovered data was replayed into a local handle that was never reattached to the storage segment, causing optimize() to skip persisting the restored documents. No exception was raised and internal stats falsely reported full index completeness, making the data loss invisible until the collection was reopened from a separate process. In a minimal reproduction, document count dropped from 150 to zero with no warning after the operation. The issue was filed and a fix was merged within roughly 55 hours via pull requests #594 and #600 on the alibaba/zvec repository.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in