Upgrade supports cancelling

This commit is contained in:
Louis Dureuil 2025-04-22 09:34:37 +02:00
parent b82dda2d0d
commit 121c1ac1dd
No known key found for this signature in database
2 changed files with 16 additions and 3 deletions

View file

@ -1,5 +1,5 @@
use meilisearch_types::milli;
use meilisearch_types::milli::progress::{Progress, VariableNameStep};
use meilisearch_types::milli::{self};
use crate::{Error, IndexScheduler, Result};
@ -16,6 +16,11 @@ impl IndexScheduler {
let indexes = self.index_names()?;
for (i, uid) in indexes.iter().enumerate() {
let must_stop_processing = self.scheduler.must_stop_processing.clone();
if must_stop_processing.get() {
return Err(Error::AbortedTask);
}
progress.update_progress(VariableNameStep::<UpgradeIndex>::new(
format!("Upgrading index `{uid}`"),
i as u32,
@ -27,6 +32,7 @@ impl IndexScheduler {
&mut index_wtxn,
&index,
db_version,
|| must_stop_processing.get(),
progress.clone(),
)
.map_err(|e| Error::from_milli(e, Some(uid.to_string())))?;