Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Error reconstructing vector" when reading a newly inserted vector from different processes #120

Open
sigmike opened this issue Feb 11, 2024 · 0 comments

Comments

@sigmike
Copy link

sigmike commented Feb 11, 2024

When a process adds a row to a vss table, any other process that has already connected to the same database will get the following error when accessing the newly added vector:

sqlite3.OperationalError: Error reconstructing vector - Does the column factory string end with IDMap2? Full error: Error in void faiss::IndexIDMap2Template::reconstruct(faiss::idx_t, typename IndexT::component_t*) const [with IndexT = faiss::Index; faiss::idx_t = long int; typename IndexT::component_t = float] at /home/runner/work/sqlite-vss/sqlite-vss/vendor/faiss/faiss/IndexIDMap.cpp:236: key 0 not found

(The key is the rowid of the added row)

Restarting the reading process resolves the error.

The solution may be the same as for #64.

This looks difficult to fix, so maybe just add a note about this limitation in the README for now?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant