mirror of
https://github.com/meilisearch/MeiliSearch
synced 2025-07-03 20:07:09 +02:00
Save the currently updating index so that the search can access it at all times
This commit is contained in:
parent
54f0ee1ed2
commit
a2d0c73b41
3 changed files with 21 additions and 0 deletions
|
@ -923,6 +923,9 @@ impl IndexScheduler {
|
|||
self.index_mapper.index(&rtxn, &index_uid)?
|
||||
};
|
||||
|
||||
// the index operation can take a long time, so save this handle to make it available tothe search for the duration of the tick
|
||||
*self.currently_updating_index.write().unwrap() = Some((index_uid.clone(), index.clone()));
|
||||
|
||||
let mut index_wtxn = index.write_txn()?;
|
||||
let tasks = self.apply_index_operation(&mut index_wtxn, &index, op)?;
|
||||
index_wtxn.commit()?;
|
||||
|
@ -959,6 +962,9 @@ impl IndexScheduler {
|
|||
Batch::IndexUpdate { index_uid, primary_key, mut task } => {
|
||||
let rtxn = self.env.read_txn()?;
|
||||
let index = self.index_mapper.index(&rtxn, &index_uid)?;
|
||||
// the index update can take a long time, so save this handle to make it available tothe search for the duration of the tick
|
||||
*self.currently_updating_index.write().unwrap() = Some((index_uid.clone(), index.clone()));
|
||||
|
||||
|
||||
if let Some(primary_key) = primary_key.clone() {
|
||||
let mut index_wtxn = index.write_txn()?;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue