mirror of
https://github.com/meilisearch/MeiliSearch
synced 2024-11-05 04:28:55 +01:00
89e05fc6c5
113: snapshots r=MarinPostma a=MarinPostma This pr adds support for snapshoting. The snapshoting process for an index requires that no other update is processing at the same time. A mutex lock has been added to prevent a snapshot from occuring at the same time as an update, while still premitting updates to be pushed. The list of the indexes to snapshot is first retrieved from the `UuidResolver` which also performs its snapshot. This list is passed to the update store, which attempts to acquire a lock on the update store while it snaphots itself and it's associated index store. This means that a snapshot can only be completed once all indexes have finished their ongoing update. This pr also adds refactoring of the code to allow unit testing and mocking, and unit test the snapshot creation. Co-authored-by: mpostma <postma.marin@protonmail.com> Co-authored-by: tamo <irevoire@protonmail.ch> Co-authored-by: marin <postma.marin@protonmail.com> Co-authored-by: Marin Postma <postma.marin@protonmail.com> |
||
---|---|---|
.github | ||
meilisearch-error | ||
meilisearch-http | ||
.dockerignore | ||
.gitignore | ||
bors.toml | ||
Cargo.lock | ||
Cargo.toml | ||
Dockerfile | ||
LICENSE | ||
README.md |