From d3654906bfc1f5cff3627d893aa7286073e5efa5 Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 14 Jan 2025 14:54:00 +0100 Subject: [PATCH 01/36] Add the new tasks with most of the job done --- crates/dump/src/lib.rs | 6 + crates/index-scheduler/src/dump.rs | 1 + crates/index-scheduler/src/error.rs | 2 +- crates/index-scheduler/src/insta_snapshot.rs | 3 + crates/index-scheduler/src/lib.rs | 3 + crates/index-scheduler/src/processing.rs | 32 +-- crates/index-scheduler/src/queue/mod.rs | 4 +- crates/index-scheduler/src/queue/tasks.rs | 2 +- .../src/scheduler/autobatcher.rs | 1 + .../src/scheduler/create_batch.rs | 17 +- crates/index-scheduler/src/scheduler/mod.rs | 1 + .../src/scheduler/process_batch.rs | 7 +- .../src/scheduler/process_dump_creation.rs | 14 +- .../scheduler/process_snapshot_creation.rs | 8 +- .../src/scheduler/process_upgrade/mod.rs | 42 +++ crates/index-scheduler/src/scheduler/test.rs | 244 +++++++++--------- crates/index-scheduler/src/test_utils.rs | 1 + crates/index-scheduler/src/upgrade/mod.rs | 43 +++ crates/index-scheduler/src/utils.rs | 4 + crates/meilisearch-types/src/error.rs | 6 +- crates/meilisearch-types/src/task_view.rs | 11 + crates/meilisearch-types/src/tasks.rs | 21 +- crates/meilisearch-types/src/versioning.rs | 19 +- .../src/analytics/segment_analytics.rs | 3 + crates/meilisearch/src/lib.rs | 31 ++- crates/meilisearch/src/option.rs | 13 + crates/meilisearch/src/routes/tasks.rs | 6 +- crates/meilisearch/src/upgrade/mod.rs | 1 + crates/meilisearch/tests/batches/errors.rs | 2 +- crates/meilisearch/tests/tasks/errors.rs | 18 +- crates/milli/src/constants.rs | 4 + crates/milli/src/error.rs | 8 +- crates/milli/src/heed_codec/mod.rs | 1 + crates/milli/src/heed_codec/version.rs | 44 ++++ crates/milli/src/index.rs | 48 +++- crates/milli/src/progress.rs | 39 +++ crates/milli/src/update/mod.rs | 1 + crates/milli/src/update/upgrade/mod.rs | 65 +++++ 38 files changed, 572 insertions(+), 204 deletions(-) create mode 100644 crates/index-scheduler/src/scheduler/process_upgrade/mod.rs create mode 100644 crates/index-scheduler/src/upgrade/mod.rs create mode 100644 crates/meilisearch/src/upgrade/mod.rs create mode 100644 crates/milli/src/heed_codec/version.rs create mode 100644 crates/milli/src/update/upgrade/mod.rs diff --git a/crates/dump/src/lib.rs b/crates/dump/src/lib.rs index f822421cf..0fb5570b0 100644 --- a/crates/dump/src/lib.rs +++ b/crates/dump/src/lib.rs @@ -141,6 +141,9 @@ pub enum KindDump { instance_uid: Option, }, SnapshotCreation, + UpgradeDatabase { + from: (u32, u32, u32), + }, } impl From for TaskDump { @@ -210,6 +213,9 @@ impl From for KindDump { KindDump::DumpCreation { keys, instance_uid } } KindWithContent::SnapshotCreation => KindDump::SnapshotCreation, + KindWithContent::UpgradeDatabase { from: version } => { + KindDump::UpgradeDatabase { from: version } + } } } } diff --git a/crates/index-scheduler/src/dump.rs b/crates/index-scheduler/src/dump.rs index 2dde6d623..7e0341fcb 100644 --- a/crates/index-scheduler/src/dump.rs +++ b/crates/index-scheduler/src/dump.rs @@ -144,6 +144,7 @@ impl<'a> Dump<'a> { KindWithContent::DumpCreation { keys, instance_uid } } KindDump::SnapshotCreation => KindWithContent::SnapshotCreation, + KindDump::UpgradeDatabase { from } => KindWithContent::UpgradeDatabase { from }, }, }; diff --git a/crates/index-scheduler/src/error.rs b/crates/index-scheduler/src/error.rs index f6ee1f685..e9fa9bb59 100644 --- a/crates/index-scheduler/src/error.rs +++ b/crates/index-scheduler/src/error.rs @@ -3,7 +3,7 @@ use std::fmt::Display; use meilisearch_types::batches::BatchId; use meilisearch_types::error::{Code, ErrorCode}; use meilisearch_types::tasks::{Kind, Status}; -use meilisearch_types::{heed, milli}; +use meilisearch_types::{heed, milli, versioning}; use thiserror::Error; use crate::TaskId; diff --git a/crates/index-scheduler/src/insta_snapshot.rs b/crates/index-scheduler/src/insta_snapshot.rs index de79cd7c0..3a9009504 100644 --- a/crates/index-scheduler/src/insta_snapshot.rs +++ b/crates/index-scheduler/src/insta_snapshot.rs @@ -279,6 +279,9 @@ fn snapshot_details(d: &Details) -> String { Details::IndexSwap { swaps } => { format!("{{ swaps: {swaps:?} }}") } + Details::UpgradeDatabase { from } => { + format!("{{ from: v{}.{}.{} }}", from.0, from.1, from.2) + } } } diff --git a/crates/index-scheduler/src/lib.rs b/crates/index-scheduler/src/lib.rs index 3c50283d9..cc9436a54 100644 --- a/crates/index-scheduler/src/lib.rs +++ b/crates/index-scheduler/src/lib.rs @@ -30,6 +30,7 @@ mod queue; mod scheduler; #[cfg(test)] mod test_utils; +pub mod upgrade; mod utils; pub mod uuid_codec; @@ -120,6 +121,8 @@ pub struct IndexSchedulerOptions { pub batched_tasks_size_limit: u64, /// The experimental features enabled for this instance. pub instance_features: InstanceTogglableFeatures, + /// The experimental features enabled for this instance. + pub auto_upgrade: bool, } /// Structure which holds meilisearch's indexes and schedules the tasks diff --git a/crates/index-scheduler/src/processing.rs b/crates/index-scheduler/src/processing.rs index d0382a81b..929749411 100644 --- a/crates/index-scheduler/src/processing.rs +++ b/crates/index-scheduler/src/processing.rs @@ -129,6 +129,12 @@ make_enum_progress! { } } +make_enum_progress! { + pub enum UpgradeDatabaseProgress { + EnsuringCorrectnessOfTheSwap, + } +} + make_enum_progress! { pub enum InnerSwappingTwoIndexes { RetrieveTheTasks, @@ -173,32 +179,6 @@ make_atomic_progress!(Document alias AtomicDocumentStep => "document" ); make_atomic_progress!(Batch alias AtomicBatchStep => "batch" ); make_atomic_progress!(UpdateFile alias AtomicUpdateFileStep => "update file" ); -pub struct VariableNameStep { - name: String, - current: u32, - total: u32, -} - -impl VariableNameStep { - pub fn new(name: impl Into, current: u32, total: u32) -> Self { - Self { name: name.into(), current, total } - } -} - -impl Step for VariableNameStep { - fn name(&self) -> Cow<'static, str> { - self.name.clone().into() - } - - fn current(&self) -> u32 { - self.current - } - - fn total(&self) -> u32 { - self.total - } -} - #[cfg(test)] mod test { use std::sync::atomic::Ordering; diff --git a/crates/index-scheduler/src/queue/mod.rs b/crates/index-scheduler/src/queue/mod.rs index 4921d05e6..f97218a21 100644 --- a/crates/index-scheduler/src/queue/mod.rs +++ b/crates/index-scheduler/src/queue/mod.rs @@ -20,8 +20,8 @@ use time::format_description::well_known::Rfc3339; use time::OffsetDateTime; use uuid::Uuid; -use self::batches::BatchQueue; -use self::tasks::TaskQueue; +pub(crate) use self::batches::BatchQueue; +pub(crate) use self::tasks::TaskQueue; use crate::processing::ProcessingTasks; use crate::utils::{ check_index_swap_validity, filter_out_references_to_newer_tasks, ProcessingBatch, diff --git a/crates/index-scheduler/src/queue/tasks.rs b/crates/index-scheduler/src/queue/tasks.rs index c88192e17..9bd63c595 100644 --- a/crates/index-scheduler/src/queue/tasks.rs +++ b/crates/index-scheduler/src/queue/tasks.rs @@ -59,7 +59,7 @@ impl TaskQueue { } } - pub(super) fn new(env: &Env, wtxn: &mut RwTxn) -> Result { + pub(crate) fn new(env: &Env, wtxn: &mut RwTxn) -> Result { Ok(Self { all_tasks: env.create_database(wtxn, Some(db_name::ALL_TASKS))?, status: env.create_database(wtxn, Some(db_name::STATUS))?, diff --git a/crates/index-scheduler/src/scheduler/autobatcher.rs b/crates/index-scheduler/src/scheduler/autobatcher.rs index 3363b2c8f..7f55a9254 100644 --- a/crates/index-scheduler/src/scheduler/autobatcher.rs +++ b/crates/index-scheduler/src/scheduler/autobatcher.rs @@ -85,6 +85,7 @@ impl From for AutobatchKind { KindWithContent::TaskCancelation { .. } | KindWithContent::TaskDeletion { .. } | KindWithContent::DumpCreation { .. } + | KindWithContent::UpgradeDatabase { .. } | KindWithContent::SnapshotCreation => { panic!("The autobatcher should never be called with tasks that don't apply to an index.") } diff --git a/crates/index-scheduler/src/scheduler/create_batch.rs b/crates/index-scheduler/src/scheduler/create_batch.rs index b224ee6eb..58bc5c9fc 100644 --- a/crates/index-scheduler/src/scheduler/create_batch.rs +++ b/crates/index-scheduler/src/scheduler/create_batch.rs @@ -47,6 +47,9 @@ pub(crate) enum Batch { IndexSwap { task: Task, }, + UpgradeDatabase { + tasks: Vec, + }, } #[derive(Debug)] @@ -105,6 +108,7 @@ impl Batch { } Batch::SnapshotCreation(tasks) | Batch::TaskDeletions(tasks) + | Batch::UpgradeDatabase { tasks } | Batch::IndexDeletion { tasks, .. } => { RoaringBitmap::from_iter(tasks.iter().map(|task| task.uid)) } @@ -138,6 +142,7 @@ impl Batch { | TaskDeletions(_) | SnapshotCreation(_) | Dump(_) + | UpgradeDatabase { .. } | IndexSwap { .. } => None, IndexOperation { op, .. } => Some(op.index_uid()), IndexCreation { index_uid, .. } @@ -162,6 +167,7 @@ impl fmt::Display for Batch { Batch::IndexUpdate { .. } => f.write_str("IndexUpdate")?, Batch::IndexDeletion { .. } => f.write_str("IndexDeletion")?, Batch::IndexSwap { .. } => f.write_str("IndexSwap")?, + Batch::UpgradeDatabase { .. } => f.write_str("UpgradeDatabase")?, }; match index_uid { Some(name) => f.write_fmt(format_args!(" on {name:?} from tasks: {tasks:?}")), @@ -427,9 +433,18 @@ impl IndexScheduler { let mut current_batch = ProcessingBatch::new(batch_id); let enqueued = &self.queue.tasks.get_status(rtxn, Status::Enqueued)?; - let to_cancel = self.queue.tasks.get_kind(rtxn, Kind::TaskCancelation)? & enqueued; + + // 0. The priority over everything is to upgrade the instance + let upgrade = self.queue.tasks.get_kind(rtxn, Kind::UpgradeDatabase)? & enqueued; + // There shouldn't be multiple upgrade tasks but just in case we're going to batch all of them at the same time + if !upgrade.is_empty() { + let mut tasks = self.queue.tasks.get_existing_tasks(rtxn, upgrade)?; + current_batch.processing(&mut tasks); + return Ok(Some((Batch::UpgradeDatabase { tasks }, current_batch))); + } // 1. we get the last task to cancel. + let to_cancel = self.queue.tasks.get_kind(rtxn, Kind::TaskCancelation)? & enqueued; if let Some(task_id) = to_cancel.max() { let mut task = self.queue.tasks.get_task(rtxn, task_id)?.ok_or(Error::CorruptedTaskQueue)?; diff --git a/crates/index-scheduler/src/scheduler/mod.rs b/crates/index-scheduler/src/scheduler/mod.rs index 2d20c4d55..6478cf07a 100644 --- a/crates/index-scheduler/src/scheduler/mod.rs +++ b/crates/index-scheduler/src/scheduler/mod.rs @@ -6,6 +6,7 @@ mod process_batch; mod process_dump_creation; mod process_index_operation; mod process_snapshot_creation; +mod process_upgrade; #[cfg(test)] mod test; #[cfg(test)] diff --git a/crates/index-scheduler/src/scheduler/process_batch.rs b/crates/index-scheduler/src/scheduler/process_batch.rs index 9a86939a4..f6699ae87 100644 --- a/crates/index-scheduler/src/scheduler/process_batch.rs +++ b/crates/index-scheduler/src/scheduler/process_batch.rs @@ -3,7 +3,7 @@ use std::sync::atomic::Ordering; use meilisearch_types::batches::BatchId; use meilisearch_types::heed::{RoTxn, RwTxn}; -use meilisearch_types::milli::progress::Progress; +use meilisearch_types::milli::progress::{Progress, VariableNameStep}; use meilisearch_types::milli::{self}; use meilisearch_types::tasks::{Details, IndexSwap, KindWithContent, Status, Task}; use milli::update::Settings as MilliSettings; @@ -13,7 +13,7 @@ use super::create_batch::Batch; use crate::processing::{ AtomicBatchStep, AtomicTaskStep, CreateIndexProgress, DeleteIndexProgress, InnerSwappingTwoIndexes, SwappingTheIndexes, TaskCancelationProgress, TaskDeletionProgress, - UpdateIndexProgress, VariableNameStep, + UpdateIndexProgress, }; use crate::utils::{self, swap_index_uid_in_task, ProcessingBatch}; use crate::{Error, IndexScheduler, Result, TaskId}; @@ -297,7 +297,7 @@ impl IndexScheduler { } progress.update_progress(SwappingTheIndexes::SwappingTheIndexes); for (step, swap) in swaps.iter().enumerate() { - progress.update_progress(VariableNameStep::new( + progress.update_progress(VariableNameStep::::new( format!("swapping index {} and {}", swap.indexes.0, swap.indexes.1), step as u32, swaps.len() as u32, @@ -314,6 +314,7 @@ impl IndexScheduler { task.status = Status::Succeeded; Ok(vec![task]) } + Batch::UpgradeDatabase { tasks } => self.process_upgrade(progress, tasks), } } diff --git a/crates/index-scheduler/src/scheduler/process_dump_creation.rs b/crates/index-scheduler/src/scheduler/process_dump_creation.rs index 9691bdbef..20ff3b5b0 100644 --- a/crates/index-scheduler/src/scheduler/process_dump_creation.rs +++ b/crates/index-scheduler/src/scheduler/process_dump_creation.rs @@ -4,16 +4,14 @@ use std::sync::atomic::Ordering; use dump::IndexMetadata; use meilisearch_types::milli::constants::RESERVED_VECTORS_FIELD_NAME; -use meilisearch_types::milli::progress::Progress; +use meilisearch_types::milli::progress::{Progress, VariableNameStep}; use meilisearch_types::milli::vector::parsed_vectors::{ExplicitVectors, VectorOrArrayOfVectors}; use meilisearch_types::milli::{self}; use meilisearch_types::tasks::{Details, KindWithContent, Status, Task}; use time::macros::format_description; use time::OffsetDateTime; -use crate::processing::{ - AtomicDocumentStep, AtomicTaskStep, DumpCreationProgress, VariableNameStep, -}; +use crate::processing::{AtomicDocumentStep, AtomicTaskStep, DumpCreationProgress}; use crate::{Error, IndexScheduler, Result}; impl IndexScheduler { @@ -108,8 +106,12 @@ impl IndexScheduler { progress.update_progress(DumpCreationProgress::DumpTheIndexes); let nb_indexes = self.index_mapper.index_mapping.len(&rtxn)? as u32; let mut count = 0; - let () = self.index_mapper.try_for_each_index(&rtxn, |uid, index| -> Result<()> { - progress.update_progress(VariableNameStep::new(uid.to_string(), count, nb_indexes)); + self.index_mapper.try_for_each_index(&rtxn, |uid, index| -> Result<()> { + progress.update_progress(VariableNameStep::::new( + uid.to_string(), + count, + nb_indexes, + )); count += 1; let rtxn = index.read_txn()?; diff --git a/crates/index-scheduler/src/scheduler/process_snapshot_creation.rs b/crates/index-scheduler/src/scheduler/process_snapshot_creation.rs index c6d6e2dc8..3e1a63ce3 100644 --- a/crates/index-scheduler/src/scheduler/process_snapshot_creation.rs +++ b/crates/index-scheduler/src/scheduler/process_snapshot_creation.rs @@ -3,12 +3,12 @@ use std::fs; use std::sync::atomic::Ordering; use meilisearch_types::heed::CompactionOption; -use meilisearch_types::milli::progress::Progress; +use meilisearch_types::milli::progress::{Progress, VariableNameStep}; use meilisearch_types::milli::{self}; use meilisearch_types::tasks::{Status, Task}; use meilisearch_types::{compression, VERSION_FILE_NAME}; -use crate::processing::{AtomicUpdateFileStep, SnapshotCreationProgress, VariableNameStep}; +use crate::processing::{AtomicUpdateFileStep, SnapshotCreationProgress}; use crate::{Error, IndexScheduler, Result}; impl IndexScheduler { @@ -74,7 +74,9 @@ impl IndexScheduler { for (i, result) in index_mapping.iter(&rtxn)?.enumerate() { let (name, uuid) = result?; - progress.update_progress(VariableNameStep::new(name, i as u32, nb_indexes)); + progress.update_progress(VariableNameStep::::new( + name, i as u32, nb_indexes, + )); let index = self.index_mapper.index(&rtxn, name)?; let dst = temp_snapshot_dir.path().join("indexes").join(uuid.to_string()); fs::create_dir_all(&dst)?; diff --git a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs new file mode 100644 index 000000000..e01958902 --- /dev/null +++ b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs @@ -0,0 +1,42 @@ +use meilisearch_types::{ + milli, + milli::progress::{Progress, VariableNameStep}, + tasks::{KindWithContent, Status, Task}, + versioning::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}, +}; + +use crate::{processing::UpgradeDatabaseProgress, Error, IndexScheduler, Result}; + +impl IndexScheduler { + pub(super) fn process_upgrade( + &self, + progress: Progress, + mut tasks: Vec, + ) -> Result> { + progress.update_progress(UpgradeDatabaseProgress::EnsuringCorrectnessOfTheSwap); + + // Since we should not have multiple upgrade tasks, we're only going to process the latest one: + let KindWithContent::UpgradeDatabase { from } = tasks.last().unwrap().kind else { + unreachable!() + }; + + enum UpgradeIndex {} + let indexes = self.index_names()?; + + for (i, uid) in indexes.iter().enumerate() { + progress.update_progress(VariableNameStep::::new( + format!("Upgrading index `{uid}`"), + i as u32, + indexes.len() as u32, + )); + let index = self.index(uid)?; + milli::update::upgrade::upgrade(&index, from, progress.clone()); + } + + for task in tasks.iter_mut() { + task.status = Status::Succeeded; + } + + Ok(tasks) + } +} diff --git a/crates/index-scheduler/src/scheduler/test.rs b/crates/index-scheduler/src/scheduler/test.rs index de12cb25d..e2b3666b2 100644 --- a/crates/index-scheduler/src/scheduler/test.rs +++ b/crates/index-scheduler/src/scheduler/test.rs @@ -713,68 +713,70 @@ fn basic_get_stats() { let kind = index_creation_task("whalo", "fish"); let _task = index_scheduler.register(kind, None, false).unwrap(); - snapshot!(json_string!(index_scheduler.get_stats().unwrap()), @r###" - { - "indexes": { - "catto": 1, - "doggo": 1, - "whalo": 1 - }, - "statuses": { - "canceled": 0, - "enqueued": 3, - "failed": 0, - "processing": 0, - "succeeded": 0 - }, - "types": { - "documentAdditionOrUpdate": 0, - "documentDeletion": 0, - "documentEdition": 0, - "dumpCreation": 0, - "indexCreation": 3, - "indexDeletion": 0, - "indexSwap": 0, - "indexUpdate": 0, - "settingsUpdate": 0, - "snapshotCreation": 0, - "taskCancelation": 0, - "taskDeletion": 0 - } - } - "###); + snapshot!(json_string!(index_scheduler.get_stats().unwrap()), @r#" + { + "indexes": { + "catto": 1, + "doggo": 1, + "whalo": 1 + }, + "statuses": { + "canceled": 0, + "enqueued": 3, + "failed": 0, + "processing": 0, + "succeeded": 0 + }, + "types": { + "documentAdditionOrUpdate": 0, + "documentDeletion": 0, + "documentEdition": 0, + "dumpCreation": 0, + "indexCreation": 3, + "indexDeletion": 0, + "indexSwap": 0, + "indexUpdate": 0, + "settingsUpdate": 0, + "snapshotCreation": 0, + "taskCancelation": 0, + "taskDeletion": 0, + "upgradeDatabase": 0 + } + } + "#); handle.advance_till([Start, BatchCreated]); - snapshot!(json_string!(index_scheduler.get_stats().unwrap()), @r###" - { - "indexes": { - "catto": 1, - "doggo": 1, - "whalo": 1 - }, - "statuses": { - "canceled": 0, - "enqueued": 2, - "failed": 0, - "processing": 1, - "succeeded": 0 - }, - "types": { - "documentAdditionOrUpdate": 0, - "documentDeletion": 0, - "documentEdition": 0, - "dumpCreation": 0, - "indexCreation": 3, - "indexDeletion": 0, - "indexSwap": 0, - "indexUpdate": 0, - "settingsUpdate": 0, - "snapshotCreation": 0, - "taskCancelation": 0, - "taskDeletion": 0 - } - } - "###); + snapshot!(json_string!(index_scheduler.get_stats().unwrap()), @r#" + { + "indexes": { + "catto": 1, + "doggo": 1, + "whalo": 1 + }, + "statuses": { + "canceled": 0, + "enqueued": 2, + "failed": 0, + "processing": 1, + "succeeded": 0 + }, + "types": { + "documentAdditionOrUpdate": 0, + "documentDeletion": 0, + "documentEdition": 0, + "dumpCreation": 0, + "indexCreation": 3, + "indexDeletion": 0, + "indexSwap": 0, + "indexUpdate": 0, + "settingsUpdate": 0, + "snapshotCreation": 0, + "taskCancelation": 0, + "taskDeletion": 0, + "upgradeDatabase": 0 + } + } + "#); handle.advance_till([ InsideProcessBatch, @@ -784,36 +786,37 @@ fn basic_get_stats() { Start, BatchCreated, ]); - snapshot!(json_string!(index_scheduler.get_stats().unwrap()), @r###" - { - "indexes": { - "catto": 1, - "doggo": 1, - "whalo": 1 - }, - "statuses": { - "canceled": 0, - "enqueued": 1, - "failed": 0, - "processing": 1, - "succeeded": 1 - }, - "types": { - "documentAdditionOrUpdate": 0, - "documentDeletion": 0, - "documentEdition": 0, - "dumpCreation": 0, - "indexCreation": 3, - "indexDeletion": 0, - "indexSwap": 0, - "indexUpdate": 0, - "settingsUpdate": 0, - "snapshotCreation": 0, - "taskCancelation": 0, - "taskDeletion": 0 - } - } - "###); + snapshot!(json_string!(index_scheduler.get_stats().unwrap()), @r#" + { + "indexes": { + "catto": 1, + "doggo": 1, + "whalo": 1 + }, + "statuses": { + "canceled": 0, + "enqueued": 1, + "failed": 0, + "processing": 1, + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 0, + "documentDeletion": 0, + "documentEdition": 0, + "dumpCreation": 0, + "indexCreation": 3, + "indexDeletion": 0, + "indexSwap": 0, + "indexUpdate": 0, + "settingsUpdate": 0, + "snapshotCreation": 0, + "taskCancelation": 0, + "taskDeletion": 0, + "upgradeDatabase": 0 + } + } + "#); // now we make one more batch, the started_at field of the new tasks will be past `second_start_time` handle.advance_till([ @@ -824,36 +827,37 @@ fn basic_get_stats() { Start, BatchCreated, ]); - snapshot!(json_string!(index_scheduler.get_stats().unwrap()), @r###" - { - "indexes": { - "catto": 1, - "doggo": 1, - "whalo": 1 - }, - "statuses": { - "canceled": 0, - "enqueued": 0, - "failed": 0, - "processing": 1, - "succeeded": 2 - }, - "types": { - "documentAdditionOrUpdate": 0, - "documentDeletion": 0, - "documentEdition": 0, - "dumpCreation": 0, - "indexCreation": 3, - "indexDeletion": 0, - "indexSwap": 0, - "indexUpdate": 0, - "settingsUpdate": 0, - "snapshotCreation": 0, - "taskCancelation": 0, - "taskDeletion": 0 - } - } - "###); + snapshot!(json_string!(index_scheduler.get_stats().unwrap()), @r#" + { + "indexes": { + "catto": 1, + "doggo": 1, + "whalo": 1 + }, + "statuses": { + "canceled": 0, + "enqueued": 0, + "failed": 0, + "processing": 1, + "succeeded": 2 + }, + "types": { + "documentAdditionOrUpdate": 0, + "documentDeletion": 0, + "documentEdition": 0, + "dumpCreation": 0, + "indexCreation": 3, + "indexDeletion": 0, + "indexSwap": 0, + "indexUpdate": 0, + "settingsUpdate": 0, + "snapshotCreation": 0, + "taskCancelation": 0, + "taskDeletion": 0, + "upgradeDatabase": 0 + } + } + "#); } #[test] diff --git a/crates/index-scheduler/src/test_utils.rs b/crates/index-scheduler/src/test_utils.rs index 4be944037..c83a8ab0b 100644 --- a/crates/index-scheduler/src/test_utils.rs +++ b/crates/index-scheduler/src/test_utils.rs @@ -109,6 +109,7 @@ impl IndexScheduler { max_number_of_batched_tasks: usize::MAX, batched_tasks_size_limit: u64::MAX, instance_features: Default::default(), + auto_upgrade: true, // Don't cost much and will ensure the happy path works }; configuration(&mut options); diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs new file mode 100644 index 000000000..cd4adef52 --- /dev/null +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -0,0 +1,43 @@ +use std::path::Path; + +use meilisearch_types::{ + heed, + tasks::{KindWithContent, Status, Task}, +}; +use time::OffsetDateTime; +use tracing::info; + +use crate::queue::TaskQueue; + +pub fn upgrade_task_queue(tasks_path: &Path, version: (u32, u32, u32)) -> anyhow::Result<()> { + info!("Upgrading the task queue"); + let env = unsafe { + heed::EnvOpenOptions::new() + .max_dbs(19) + // Since that's the only database memory-mapped currently we don't need to check the budget yet + .map_size(100 * 1024 * 1024) + .open(tasks_path) + }?; + let mut wtxn = env.write_txn()?; + let queue = TaskQueue::new(&env, &mut wtxn)?; + let uid = queue.next_task_id(&wtxn)?; + queue.register( + &mut wtxn, + &Task { + uid, + batch_uid: None, + enqueued_at: OffsetDateTime::now_utc(), + started_at: None, + finished_at: None, + error: None, + canceled_by: None, + details: None, + status: Status::Enqueued, + kind: KindWithContent::UpgradeDatabase { from: version }, + }, + )?; + wtxn.commit()?; + // Should be pretty much instantaneous since we're the only one reading this env + env.prepare_for_closing().wait(); + Ok(()) +} diff --git a/crates/index-scheduler/src/utils.rs b/crates/index-scheduler/src/utils.rs index 1f861776f..9b77c478e 100644 --- a/crates/index-scheduler/src/utils.rs +++ b/crates/index-scheduler/src/utils.rs @@ -234,6 +234,7 @@ pub fn swap_index_uid_in_task(task: &mut Task, swap: (&str, &str)) { K::TaskCancelation { .. } | K::TaskDeletion { .. } | K::DumpCreation { .. } + | K::UpgradeDatabase { .. } | K::SnapshotCreation => (), }; if let Some(Details::IndexSwap { swaps }) = &mut task.details { @@ -547,6 +548,9 @@ impl crate::IndexScheduler { Details::Dump { dump_uid: _ } => { assert_eq!(kind.as_kind(), Kind::DumpCreation); } + Details::UpgradeDatabase { from: _ } => { + assert_eq!(kind.as_kind(), Kind::UpgradeDatabase); + } } } diff --git a/crates/meilisearch-types/src/error.rs b/crates/meilisearch-types/src/error.rs index 8caeb70c2..54b9c8474 100644 --- a/crates/meilisearch-types/src/error.rs +++ b/crates/meilisearch-types/src/error.rs @@ -371,7 +371,8 @@ VectorEmbeddingError , InvalidRequest , BAD_REQUEST ; NotFoundSimilarId , InvalidRequest , BAD_REQUEST ; InvalidDocumentEditionContext , InvalidRequest , BAD_REQUEST ; InvalidDocumentEditionFunctionFilter , InvalidRequest , BAD_REQUEST ; -EditDocumentsByFunctionError , InvalidRequest , BAD_REQUEST +EditDocumentsByFunctionError , InvalidRequest , BAD_REQUEST ; +CouldNotUpgrade , InvalidRequest , BAD_REQUEST } impl ErrorCode for JoinError { @@ -455,6 +456,9 @@ impl ErrorCode for milli::Error { | UserError::DocumentEditionCompilationError(_) => { Code::EditDocumentsByFunctionError } + UserError::TooOldForUpgrade(_, _, _) + | UserError::CannotDowngrade(_, _, _) + | UserError::CannotUpgradeToUnknownVersion(_, _, _) => Code::CouldNotUpgrade, } } } diff --git a/crates/meilisearch-types/src/task_view.rs b/crates/meilisearch-types/src/task_view.rs index 6032843aa..6224b326c 100644 --- a/crates/meilisearch-types/src/task_view.rs +++ b/crates/meilisearch-types/src/task_view.rs @@ -114,6 +114,8 @@ pub struct DetailsView { pub settings: Option>>, #[serde(skip_serializing_if = "Option::is_none")] pub swaps: Option>, + #[serde(skip_serializing_if = "Option::is_none")] + pub upgrade_from: Option, } impl DetailsView { @@ -234,6 +236,11 @@ impl DetailsView { Some(left) } }, + upgrade_from: match (self.upgrade_from.clone(), other.upgrade_from.clone()) { + (None, None) => None, + (None, Some(from)) | (Some(from), None) => Some(from), + (Some(_), Some(from)) => Some(from), + }, } } } @@ -311,6 +318,10 @@ impl From
for DetailsView { Details::IndexSwap { swaps } => { DetailsView { swaps: Some(swaps), ..Default::default() } } + Details::UpgradeDatabase { from } => DetailsView { + upgrade_from: Some(format!("v{}.{}.{}", from.0, from.1, from.2)), + ..Default::default() + }, } } } diff --git a/crates/meilisearch-types/src/tasks.rs b/crates/meilisearch-types/src/tasks.rs index 167cfcd80..0caad08fb 100644 --- a/crates/meilisearch-types/src/tasks.rs +++ b/crates/meilisearch-types/src/tasks.rs @@ -50,6 +50,7 @@ impl Task { | SnapshotCreation | TaskCancelation { .. } | TaskDeletion { .. } + | UpgradeDatabase { .. } | IndexSwap { .. } => None, DocumentAdditionOrUpdate { index_uid, .. } | DocumentEdition { index_uid, .. } @@ -84,7 +85,8 @@ impl Task { | KindWithContent::TaskCancelation { .. } | KindWithContent::TaskDeletion { .. } | KindWithContent::DumpCreation { .. } - | KindWithContent::SnapshotCreation => None, + | KindWithContent::SnapshotCreation + | KindWithContent::UpgradeDatabase { .. } => None, } } } @@ -150,6 +152,9 @@ pub enum KindWithContent { instance_uid: Option, }, SnapshotCreation, + UpgradeDatabase { + from: (u32, u32, u32), + }, } #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, ToSchema)] @@ -175,6 +180,7 @@ impl KindWithContent { KindWithContent::TaskDeletion { .. } => Kind::TaskDeletion, KindWithContent::DumpCreation { .. } => Kind::DumpCreation, KindWithContent::SnapshotCreation => Kind::SnapshotCreation, + KindWithContent::UpgradeDatabase { .. } => Kind::UpgradeDatabase, } } @@ -185,7 +191,8 @@ impl KindWithContent { DumpCreation { .. } | SnapshotCreation | TaskCancelation { .. } - | TaskDeletion { .. } => vec![], + | TaskDeletion { .. } + | UpgradeDatabase { .. } => vec![], DocumentAdditionOrUpdate { index_uid, .. } | DocumentEdition { index_uid, .. } | DocumentDeletion { index_uid, .. } @@ -262,6 +269,7 @@ impl KindWithContent { }), KindWithContent::DumpCreation { .. } => Some(Details::Dump { dump_uid: None }), KindWithContent::SnapshotCreation => None, + KindWithContent::UpgradeDatabase { .. } => None, } } @@ -320,6 +328,7 @@ impl KindWithContent { }), KindWithContent::DumpCreation { .. } => Some(Details::Dump { dump_uid: None }), KindWithContent::SnapshotCreation => None, + KindWithContent::UpgradeDatabase { .. } => None, } } } @@ -360,6 +369,7 @@ impl From<&KindWithContent> for Option
{ }), KindWithContent::DumpCreation { .. } => Some(Details::Dump { dump_uid: None }), KindWithContent::SnapshotCreation => None, + KindWithContent::UpgradeDatabase { .. } => None, } } } @@ -468,6 +478,7 @@ pub enum Kind { TaskDeletion, DumpCreation, SnapshotCreation, + UpgradeDatabase, } impl Kind { @@ -484,6 +495,7 @@ impl Kind { | Kind::TaskCancelation | Kind::TaskDeletion | Kind::DumpCreation + | Kind::UpgradeDatabase | Kind::SnapshotCreation => false, } } @@ -503,6 +515,7 @@ impl Display for Kind { Kind::TaskDeletion => write!(f, "taskDeletion"), Kind::DumpCreation => write!(f, "dumpCreation"), Kind::SnapshotCreation => write!(f, "snapshotCreation"), + Kind::UpgradeDatabase => write!(f, "upgradeDatabase"), } } } @@ -607,6 +620,9 @@ pub enum Details { IndexSwap { swaps: Vec, }, + UpgradeDatabase { + from: (usize, usize, usize), + }, } impl Details { @@ -627,6 +643,7 @@ impl Details { Self::SettingsUpdate { .. } | Self::IndexInfo { .. } | Self::Dump { .. } + | Self::UpgradeDatabase { .. } | Self::IndexSwap { .. } => (), } diff --git a/crates/meilisearch-types/src/versioning.rs b/crates/meilisearch-types/src/versioning.rs index 2ec9d9b0c..081c95c6e 100644 --- a/crates/meilisearch-types/src/versioning.rs +++ b/crates/meilisearch-types/src/versioning.rs @@ -5,9 +5,9 @@ use std::path::Path; /// The name of the file that contains the version of the database. pub const VERSION_FILE_NAME: &str = "VERSION"; -static VERSION_MAJOR: &str = env!("CARGO_PKG_VERSION_MAJOR"); -static VERSION_MINOR: &str = env!("CARGO_PKG_VERSION_MINOR"); -static VERSION_PATCH: &str = env!("CARGO_PKG_VERSION_PATCH"); +pub static VERSION_MAJOR: &str = env!("CARGO_PKG_VERSION_MAJOR"); +pub static VERSION_MINOR: &str = env!("CARGO_PKG_VERSION_MINOR"); +pub static VERSION_PATCH: &str = env!("CARGO_PKG_VERSION_PATCH"); /// Persists the version of the current Meilisearch binary to a VERSION file pub fn create_current_version_file(db_path: &Path) -> io::Result<()> { @@ -24,17 +24,6 @@ pub fn create_version_file( fs::write(version_path, format!("{}.{}.{}", major, minor, patch)) } -/// Ensures Meilisearch version is compatible with the database, returns an error versions mismatch. -pub fn check_version_file(db_path: &Path) -> anyhow::Result<()> { - let (major, minor, patch) = get_version(db_path)?; - - if major != VERSION_MAJOR || minor != VERSION_MINOR { - return Err(VersionFileError::VersionMismatch { major, minor, patch }.into()); - } - - Ok(()) -} - pub fn get_version(db_path: &Path) -> Result<(String, String, String), VersionFileError> { let version_path = db_path.join(VERSION_FILE_NAME); @@ -48,7 +37,7 @@ pub fn get_version(db_path: &Path) -> Result<(String, String, String), VersionFi } pub fn parse_version(version: &str) -> Result<(String, String, String), VersionFileError> { - let version_components = version.split('.').collect::>(); + let version_components = version.trim().split('.').collect::>(); let (major, minor, patch) = match &version_components[..] { [major, minor, patch] => (major.to_string(), minor.to_string(), patch.to_string()), _ => return Err(VersionFileError::MalformedVersionFile), diff --git a/crates/meilisearch/src/analytics/segment_analytics.rs b/crates/meilisearch/src/analytics/segment_analytics.rs index a97813089..9fc212cc4 100644 --- a/crates/meilisearch/src/analytics/segment_analytics.rs +++ b/crates/meilisearch/src/analytics/segment_analytics.rs @@ -189,6 +189,7 @@ struct Infos { experimental_drop_search_after: usize, experimental_nb_searches_per_core: usize, experimental_logs_mode: LogMode, + experimental_dumpless_upgrade: bool, experimental_replication_parameters: bool, experimental_enable_logs_route: bool, experimental_reduce_indexing_memory_usage: bool, @@ -235,6 +236,7 @@ impl Infos { experimental_drop_search_after, experimental_nb_searches_per_core, experimental_logs_mode, + experimental_dumpless_upgrade, experimental_replication_parameters, experimental_enable_logs_route, experimental_reduce_indexing_memory_usage, @@ -296,6 +298,7 @@ impl Infos { experimental_drop_search_after: experimental_drop_search_after.into(), experimental_nb_searches_per_core: experimental_nb_searches_per_core.into(), experimental_logs_mode, + experimental_dumpless_upgrade, experimental_replication_parameters, experimental_enable_logs_route: experimental_enable_logs_route | logs_route, experimental_reduce_indexing_memory_usage, diff --git a/crates/meilisearch/src/lib.rs b/crates/meilisearch/src/lib.rs index a8b8b8eba..ebdaab7b6 100644 --- a/crates/meilisearch/src/lib.rs +++ b/crates/meilisearch/src/lib.rs @@ -32,13 +32,16 @@ use analytics::Analytics; use anyhow::bail; use error::PayloadError; use extractors::payload::PayloadConfig; +use index_scheduler::upgrade::upgrade_task_queue; use index_scheduler::{IndexScheduler, IndexSchedulerOptions}; use meilisearch_auth::AuthController; use meilisearch_types::milli::documents::{DocumentsBatchBuilder, DocumentsBatchReader}; use meilisearch_types::milli::update::{IndexDocumentsConfig, IndexDocumentsMethod}; use meilisearch_types::settings::apply_settings_to_builder; use meilisearch_types::tasks::KindWithContent; -use meilisearch_types::versioning::{check_version_file, create_current_version_file}; +use meilisearch_types::versioning::{ + create_current_version_file, get_version, VersionFileError, VERSION_MAJOR, VERSION_MINOR, +}; use meilisearch_types::{compression, milli, VERSION_FILE_NAME}; pub use option::Opt; use option::ScheduleSnapshot; @@ -316,6 +319,7 @@ fn open_or_create_database_unchecked( index_growth_amount: byte_unit::Byte::from_str("10GiB").unwrap().as_u64() as usize, index_count: DEFAULT_INDEX_COUNT, instance_features, + auto_upgrade: opt.experimental_dumpless_upgrade, })?) }; @@ -334,13 +338,36 @@ fn open_or_create_database_unchecked( } } +/// Ensures Meilisearch version is compatible with the database, returns an error versions mismatch. +fn check_version_and_update_task_queue( + db_path: &Path, + experimental_dumpless_upgrade: bool, +) -> anyhow::Result<()> { + let (major, minor, patch) = get_version(db_path)?; + + if major != VERSION_MAJOR || minor != VERSION_MINOR { + if experimental_dumpless_upgrade { + let version = ( + major.parse().map_err(|_| VersionFileError::MalformedVersionFile)?, + minor.parse().map_err(|_| VersionFileError::MalformedVersionFile)?, + patch.parse().map_err(|_| VersionFileError::MalformedVersionFile)?, + ); + return upgrade_task_queue(&db_path.join("tasks"), version); + } else { + return Err(VersionFileError::VersionMismatch { major, minor, patch }.into()); + } + } + + Ok(()) +} + /// Ensure you're in a valid state and open the IndexScheduler + AuthController for you. fn open_or_create_database( opt: &Opt, empty_db: bool, ) -> anyhow::Result<(IndexScheduler, AuthController)> { if !empty_db { - check_version_file(&opt.db_path)?; + check_version_and_update_task_queue(&opt.db_path, opt.experimental_dumpless_upgrade)?; } open_or_create_database_unchecked(opt, OnFailure::KeepDb) diff --git a/crates/meilisearch/src/option.rs b/crates/meilisearch/src/option.rs index b5aa6b9e7..8403017c3 100644 --- a/crates/meilisearch/src/option.rs +++ b/crates/meilisearch/src/option.rs @@ -49,6 +49,7 @@ const MEILI_IGNORE_DUMP_IF_DB_EXISTS: &str = "MEILI_IGNORE_DUMP_IF_DB_EXISTS"; const MEILI_DUMP_DIR: &str = "MEILI_DUMP_DIR"; const MEILI_LOG_LEVEL: &str = "MEILI_LOG_LEVEL"; const MEILI_EXPERIMENTAL_LOGS_MODE: &str = "MEILI_EXPERIMENTAL_LOGS_MODE"; +const MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE: &str = "MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE"; const MEILI_EXPERIMENTAL_REPLICATION_PARAMETERS: &str = "MEILI_EXPERIMENTAL_REPLICATION_PARAMETERS"; const MEILI_EXPERIMENTAL_ENABLE_LOGS_ROUTE: &str = "MEILI_EXPERIMENTAL_ENABLE_LOGS_ROUTE"; const MEILI_EXPERIMENTAL_CONTAINS_FILTER: &str = "MEILI_EXPERIMENTAL_CONTAINS_FILTER"; @@ -400,6 +401,13 @@ pub struct Opt { #[serde(default)] pub experimental_logs_mode: LogMode, + /// Experimental dumpless upgrade. For more information, see: + /// + /// When set, Meilisearch will auto-update its database without using a dump. + #[clap(long, env = MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE, default_value_t)] + #[serde(default)] + pub experimental_dumpless_upgrade: bool, + /// Experimental logs route feature. For more information, /// see: /// @@ -535,6 +543,7 @@ impl Opt { experimental_drop_search_after, experimental_nb_searches_per_core, experimental_logs_mode, + experimental_dumpless_upgrade, experimental_enable_logs_route, experimental_replication_parameters, experimental_reduce_indexing_memory_usage, @@ -608,6 +617,10 @@ impl Opt { MEILI_EXPERIMENTAL_LOGS_MODE, experimental_logs_mode.to_string(), ); + export_to_env_if_not_present( + MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE, + experimental_dumpless_upgrade.to_string(), + ); export_to_env_if_not_present( MEILI_EXPERIMENTAL_REPLICATION_PARAMETERS, experimental_replication_parameters.to_string(), diff --git a/crates/meilisearch/src/routes/tasks.rs b/crates/meilisearch/src/routes/tasks.rs index fce2bc8bf..90fdc9c16 100644 --- a/crates/meilisearch/src/routes/tasks.rs +++ b/crates/meilisearch/src/routes/tasks.rs @@ -912,14 +912,14 @@ mod tests { { let params = "types=createIndex"; let err = deserr_query_params::(params).unwrap_err(); - snapshot!(meili_snap::json_string!(err), @r###" + snapshot!(meili_snap::json_string!(err), @r#" { - "message": "Invalid value in parameter `types`: `createIndex` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`.", + "message": "Invalid value in parameter `types`: `createIndex` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`, `upgradeDatabase`.", "code": "invalid_task_types", "type": "invalid_request", "link": "https://docs.meilisearch.com/errors#invalid_task_types" } - "###); + "#); } } #[test] diff --git a/crates/meilisearch/src/upgrade/mod.rs b/crates/meilisearch/src/upgrade/mod.rs new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/crates/meilisearch/src/upgrade/mod.rs @@ -0,0 +1 @@ + diff --git a/crates/meilisearch/tests/batches/errors.rs b/crates/meilisearch/tests/batches/errors.rs index 2c3484bc1..7f5fedb6a 100644 --- a/crates/meilisearch/tests/batches/errors.rs +++ b/crates/meilisearch/tests/batches/errors.rs @@ -42,7 +42,7 @@ async fn batch_bad_types() { snapshot!(code, @"400 Bad Request"); snapshot!(json_string!(response), @r#" { - "message": "Invalid value in parameter `types`: `doggo` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`.", + "message": "Invalid value in parameter `types`: `doggo` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`, `upgradeDatabase`.", "code": "invalid_task_types", "type": "invalid_request", "link": "https://docs.meilisearch.com/errors#invalid_task_types" diff --git a/crates/meilisearch/tests/tasks/errors.rs b/crates/meilisearch/tests/tasks/errors.rs index 932dd19d4..759531d42 100644 --- a/crates/meilisearch/tests/tasks/errors.rs +++ b/crates/meilisearch/tests/tasks/errors.rs @@ -95,36 +95,36 @@ async fn task_bad_types() { let (response, code) = server.tasks_filter("types=doggo").await; snapshot!(code, @"400 Bad Request"); - snapshot!(json_string!(response), @r###" + snapshot!(json_string!(response), @r#" { - "message": "Invalid value in parameter `types`: `doggo` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`.", + "message": "Invalid value in parameter `types`: `doggo` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`, `upgradeDatabase`.", "code": "invalid_task_types", "type": "invalid_request", "link": "https://docs.meilisearch.com/errors#invalid_task_types" } - "###); + "#); let (response, code) = server.cancel_tasks("types=doggo").await; snapshot!(code, @"400 Bad Request"); - snapshot!(json_string!(response), @r###" + snapshot!(json_string!(response), @r#" { - "message": "Invalid value in parameter `types`: `doggo` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`.", + "message": "Invalid value in parameter `types`: `doggo` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`, `upgradeDatabase`.", "code": "invalid_task_types", "type": "invalid_request", "link": "https://docs.meilisearch.com/errors#invalid_task_types" } - "###); + "#); let (response, code) = server.delete_tasks("types=doggo").await; snapshot!(code, @"400 Bad Request"); - snapshot!(json_string!(response), @r###" + snapshot!(json_string!(response), @r#" { - "message": "Invalid value in parameter `types`: `doggo` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`.", + "message": "Invalid value in parameter `types`: `doggo` is not a valid task type. Available types are `documentAdditionOrUpdate`, `documentEdition`, `documentDeletion`, `settingsUpdate`, `indexCreation`, `indexDeletion`, `indexUpdate`, `indexSwap`, `taskCancelation`, `taskDeletion`, `dumpCreation`, `snapshotCreation`, `upgradeDatabase`.", "code": "invalid_task_types", "type": "invalid_request", "link": "https://docs.meilisearch.com/errors#invalid_task_types" } - "###); + "#); } #[actix_rt::test] diff --git a/crates/milli/src/constants.rs b/crates/milli/src/constants.rs index 3dd787f1c..39b449661 100644 --- a/crates/milli/src/constants.rs +++ b/crates/milli/src/constants.rs @@ -1,2 +1,6 @@ +pub static VERSION_MAJOR: &str = env!("CARGO_PKG_VERSION_MAJOR"); +pub static VERSION_MINOR: &str = env!("CARGO_PKG_VERSION_MINOR"); +pub static VERSION_PATCH: &str = env!("CARGO_PKG_VERSION_PATCH"); + pub const RESERVED_VECTORS_FIELD_NAME: &str = "_vectors"; pub const RESERVED_GEO_FIELD_NAME: &str = "_geo"; diff --git a/crates/milli/src/error.rs b/crates/milli/src/error.rs index 79e7770f0..29e02b9f1 100644 --- a/crates/milli/src/error.rs +++ b/crates/milli/src/error.rs @@ -10,7 +10,7 @@ use rhai::EvalAltResult; use serde_json::Value; use thiserror::Error; -use crate::constants::RESERVED_GEO_FIELD_NAME; +use crate::constants::{RESERVED_GEO_FIELD_NAME, VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}; use crate::documents::{self, DocumentsBatchCursorError}; use crate::thread_pool_no_abort::PanicCatched; use crate::{CriterionError, DocumentId, FieldId, Object, SortError}; @@ -288,6 +288,12 @@ and can not be more than 511 bytes.", .document_id.to_string() DocumentEditionCompilationError(rhai::ParseError), #[error("{0}")] DocumentEmbeddingError(String), + #[error("Upgrade could not be processed because v{0}.{1}.{2} of the database is too old. Please re-open the v{0}.{1}.{2} and use a dump to upgrade your version. The oldest version meilisearch can upgrade from is v1.12.0.")] + TooOldForUpgrade(u32, u32, u32), + #[error("Upgrade could not be processed because the database version (v{0}.{1}.{2}) is newer than the targeted version (v{}.{}.{})", VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH)] + CannotDowngrade(u32, u32, u32), + #[error("Cannot upgrade to unknown version v{0}.{1}.{2}.")] + CannotUpgradeToUnknownVersion(u32, u32, u32), } impl From for Error { diff --git a/crates/milli/src/heed_codec/mod.rs b/crates/milli/src/heed_codec/mod.rs index 575b886bd..45f7f7075 100644 --- a/crates/milli/src/heed_codec/mod.rs +++ b/crates/milli/src/heed_codec/mod.rs @@ -10,6 +10,7 @@ mod roaring_bitmap_length; mod str_beu32_codec; mod str_ref; mod str_str_u8_codec; +pub mod version; pub use byte_slice_ref::BytesRefCodec; use heed::BoxedError; diff --git a/crates/milli/src/heed_codec/version.rs b/crates/milli/src/heed_codec/version.rs new file mode 100644 index 000000000..d63ae91d4 --- /dev/null +++ b/crates/milli/src/heed_codec/version.rs @@ -0,0 +1,44 @@ +use std::mem::size_of; +use std::{borrow::Cow, mem::size_of_val}; + +use byteorder::{BigEndian, ByteOrder}; +use heed::{BoxedError, BytesDecode, BytesEncode}; + +const VERSION_SIZE: usize = std::mem::size_of::() * 3; + +#[derive(thiserror::Error, Debug)] +#[error( + "Could not decode the version: Expected {} bytes but instead received {0} bytes", + VERSION_SIZE +)] +pub struct DecodeVersionError(usize); + +pub struct VersionCodec; +impl<'a> BytesEncode<'a> for VersionCodec { + type EItem = (u32, u32, u32); + + fn bytes_encode(item: &'a Self::EItem) -> Result, BoxedError> { + let mut ret = Vec::with_capacity(size_of::() * 3); + ret.extend(&item.0.to_be_bytes()); + ret.extend(&item.1.to_be_bytes()); + ret.extend(&item.2.to_be_bytes()); + Ok(Cow::Owned(ret)) + } +} +impl<'a> BytesDecode<'a> for VersionCodec { + type DItem = (u32, u32, u32); + + fn bytes_decode(bytes: &'a [u8]) -> Result { + if bytes.len() != VERSION_SIZE { + Err(Box::new(DecodeVersionError(bytes.len()))) + } else { + let major = BigEndian::read_u32(bytes); + let bytes = &bytes[size_of_val(&major)..]; + let minor = BigEndian::read_u32(bytes); + let bytes = &bytes[size_of_val(&major)..]; + let patch = BigEndian::read_u32(bytes); + + Ok((major, minor, patch)) + } + } +} diff --git a/crates/milli/src/index.rs b/crates/milli/src/index.rs index 9829df2ee..bda57b531 100644 --- a/crates/milli/src/index.rs +++ b/crates/milli/src/index.rs @@ -10,7 +10,7 @@ use roaring::RoaringBitmap; use rstar::RTree; use serde::{Deserialize, Serialize}; -use crate::constants::RESERVED_VECTORS_FIELD_NAME; +use crate::constants::{self, RESERVED_VECTORS_FIELD_NAME}; use crate::documents::PrimaryKey; use crate::error::{InternalError, UserError}; use crate::fields_ids_map::FieldsIdsMap; @@ -18,6 +18,7 @@ use crate::heed_codec::facet::{ FacetGroupKeyCodec, FacetGroupValueCodec, FieldDocIdFacetF64Codec, FieldDocIdFacetStringCodec, FieldIdCodec, OrderedF64Codec, }; +use crate::heed_codec::version::VersionCodec; use crate::heed_codec::{BEU16StrCodec, FstSetCodec, StrBEU16Codec, StrRefCodec}; use crate::order_by_map::OrderByMap; use crate::proximity::ProximityPrecision; @@ -33,6 +34,7 @@ pub const DEFAULT_MIN_WORD_LEN_ONE_TYPO: u8 = 5; pub const DEFAULT_MIN_WORD_LEN_TWO_TYPOS: u8 = 9; pub mod main_key { + pub const VERSION_KEY: &str = "version"; pub const CRITERIA_KEY: &str = "criteria"; pub const DISPLAYED_FIELDS_KEY: &str = "displayed-fields"; pub const DISTINCT_FIELD_KEY: &str = "distinct-field-key"; @@ -223,12 +225,9 @@ impl Index { let vector_arroy = env.create_database(&mut wtxn, Some(VECTOR_ARROY))?; let documents = env.create_database(&mut wtxn, Some(DOCUMENTS))?; - wtxn.commit()?; - Index::set_creation_dates(&env, main, created_at, updated_at)?; - - Ok(Index { - env, + let this = Index { + env: env.clone(), main, external_documents_ids, word_docids, @@ -253,7 +252,22 @@ impl Index { vector_arroy, embedder_category_id, documents, - }) + }; + if this.get_version(&wtxn)?.is_none() { + this.put_version( + &mut wtxn, + ( + constants::VERSION_MAJOR.parse().unwrap(), + constants::VERSION_MINOR.parse().unwrap(), + constants::VERSION_PATCH.parse().unwrap(), + ), + )?; + } + wtxn.commit()?; + + Index::set_creation_dates(&this.env, this.main, created_at, updated_at)?; + + Ok(this) } pub fn new>(options: heed::EnvOpenOptions, path: P) -> Result { @@ -331,6 +345,26 @@ impl Index { self.env.prepare_for_closing() } + /* version */ + + /// Writes the version of the database. + pub(crate) fn put_version( + &self, + wtxn: &mut RwTxn<'_>, + (major, minor, patch): (u32, u32, u32), + ) -> heed::Result<()> { + self.main.remap_types::().put( + wtxn, + main_key::VERSION_KEY, + &(major, minor, patch), + ) + } + + /// Get the version of the database. `None` if it was never set. + pub(crate) fn get_version(&self, rtxn: &RoTxn<'_>) -> heed::Result> { + self.main.remap_types::().get(rtxn, main_key::VERSION_KEY) + } + /* documents ids */ /// Writes the documents ids that corresponds to the user-ids-documents-ids FST. diff --git a/crates/milli/src/progress.rs b/crates/milli/src/progress.rs index 622ec9842..870277bad 100644 --- a/crates/milli/src/progress.rs +++ b/crates/milli/src/progress.rs @@ -1,5 +1,6 @@ use std::any::TypeId; use std::borrow::Cow; +use std::marker::PhantomData; use std::sync::atomic::{AtomicU32, Ordering}; use std::sync::{Arc, RwLock}; @@ -153,3 +154,41 @@ pub struct ProgressStepView { pub finished: u32, pub total: u32, } + +/// Used when the name can change but it's still the same step. +/// To avoid conflicts on the `TypeId`, create a unique type every time you use this step: +/// ```text +/// enum UpgradeVersion {} +/// +/// progress.update_progress(VariableNameStep::::new( +/// "v1 to v2", +/// 0, +/// 10, +/// )); +/// ``` +pub struct VariableNameStep { + name: String, + current: u32, + total: u32, + phantom: PhantomData, +} + +impl VariableNameStep { + pub fn new(name: impl Into, current: u32, total: u32) -> Self { + Self { name: name.into(), current, total, phantom: PhantomData } + } +} + +impl Step for VariableNameStep { + fn name(&self) -> Cow<'static, str> { + self.name.clone().into() + } + + fn current(&self) -> u32 { + self.current + } + + fn total(&self) -> u32 { + self.total + } +} diff --git a/crates/milli/src/update/mod.rs b/crates/milli/src/update/mod.rs index 5888a20db..68268db35 100644 --- a/crates/milli/src/update/mod.rs +++ b/crates/milli/src/update/mod.rs @@ -21,6 +21,7 @@ mod indexer_config; pub mod new; pub(crate) mod settings; mod update_step; +pub mod upgrade; mod word_prefix_docids; mod words_prefix_integer_docids; mod words_prefixes_fst; diff --git a/crates/milli/src/update/upgrade/mod.rs b/crates/milli/src/update/upgrade/mod.rs new file mode 100644 index 000000000..aab160b38 --- /dev/null +++ b/crates/milli/src/update/upgrade/mod.rs @@ -0,0 +1,65 @@ +use crate::constants::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}; +use crate::progress::{Progress, VariableNameStep}; +use crate::{Index, Result, UserError}; + +pub fn upgrade(index: &Index, base_version: (u32, u32, u32), progress: Progress) -> Result<()> { + let wtxn = index.env.write_txn()?; + let from = index.get_version(&wtxn)?; + let upgrade_functions = + [(v1_12_to_v1_13 as fn(&Index, Progress) -> Result<()>, "Upgrading from v1.12 to v1.13")]; + + let current_major: u32 = VERSION_MAJOR.parse().unwrap(); + let current_minor: u32 = VERSION_MINOR.parse().unwrap(); + let current_patch: u32 = VERSION_PATCH.parse().unwrap(); + + let start = match from { + // If there was no version it means we're coming from the base version specified by the index-scheduler + None if base_version.0 == 1 && base_version.1 == 12 => 0, + Some((1, 12, _)) => 0, + + // --- Error handling + None => { + return Err(UserError::TooOldForUpgrade( + base_version.0, + base_version.1, + base_version.2, + ) + .into()); + } + Some((major, minor, patch)) if major == 0 || (major == 1 && minor < 12) => { + return Err(UserError::TooOldForUpgrade(major, minor, patch).into()); + } + Some((major, minor, patch)) if major > current_major => { + return Err(UserError::CannotDowngrade(major, minor, patch).into()); + } + Some((major, minor, patch)) if major == current_major && minor > current_minor => { + return Err(UserError::CannotDowngrade(major, minor, patch).into()); + } + Some((major, minor, patch)) + if major == current_major && minor == current_minor && patch > current_patch => + { + return Err(UserError::CannotDowngrade(major, minor, patch).into()); + } + Some((major, minor, patch)) => { + return Err(UserError::CannotUpgradeToUnknownVersion(major, minor, patch).into()) + } + }; + + enum UpgradeVersion {} + let upgrade_path = &upgrade_functions[start..]; + + for (i, (upgrade_function, upgrade_msg)) in upgrade_path.iter().enumerate() { + progress.update_progress(VariableNameStep::::new( + upgrade_msg.to_string(), + i as u32, + upgrade_path.len() as u32, + )); + (upgrade_function)(index, progress.clone())?; + } + + Ok(()) +} + +fn v1_12_to_v1_13(_index: &Index, _progress: Progress) -> Result<()> { + Ok(()) +} From e70ac35e02f8972295d84007e486f78bfc99c6d1 Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 14 Jan 2025 16:36:09 +0100 Subject: [PATCH 02/36] fix bugs after rebase --- crates/index-scheduler/src/error.rs | 2 +- crates/index-scheduler/src/scheduler/process_upgrade/mod.rs | 4 ++-- crates/milli/src/error.rs | 2 +- crates/milli/src/heed_codec/version.rs | 3 +-- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/crates/index-scheduler/src/error.rs b/crates/index-scheduler/src/error.rs index e9fa9bb59..f6ee1f685 100644 --- a/crates/index-scheduler/src/error.rs +++ b/crates/index-scheduler/src/error.rs @@ -3,7 +3,7 @@ use std::fmt::Display; use meilisearch_types::batches::BatchId; use meilisearch_types::error::{Code, ErrorCode}; use meilisearch_types::tasks::{Kind, Status}; -use meilisearch_types::{heed, milli, versioning}; +use meilisearch_types::{heed, milli}; use thiserror::Error; use crate::TaskId; diff --git a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs index e01958902..0c3af1386 100644 --- a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs +++ b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs @@ -2,7 +2,6 @@ use meilisearch_types::{ milli, milli::progress::{Progress, VariableNameStep}, tasks::{KindWithContent, Status, Task}, - versioning::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}, }; use crate::{processing::UpgradeDatabaseProgress, Error, IndexScheduler, Result}; @@ -30,7 +29,8 @@ impl IndexScheduler { indexes.len() as u32, )); let index = self.index(uid)?; - milli::update::upgrade::upgrade(&index, from, progress.clone()); + milli::update::upgrade::upgrade(&index, from, progress.clone()) + .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; } for task in tasks.iter_mut() { diff --git a/crates/milli/src/error.rs b/crates/milli/src/error.rs index 29e02b9f1..aad9b9a9f 100644 --- a/crates/milli/src/error.rs +++ b/crates/milli/src/error.rs @@ -290,7 +290,7 @@ and can not be more than 511 bytes.", .document_id.to_string() DocumentEmbeddingError(String), #[error("Upgrade could not be processed because v{0}.{1}.{2} of the database is too old. Please re-open the v{0}.{1}.{2} and use a dump to upgrade your version. The oldest version meilisearch can upgrade from is v1.12.0.")] TooOldForUpgrade(u32, u32, u32), - #[error("Upgrade could not be processed because the database version (v{0}.{1}.{2}) is newer than the targeted version (v{}.{}.{})", VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH)] + #[error("Upgrade could not be processed because the database version (v{0}.{1}.{2}) is newer than the targeted version (v{VERSION_MAJOR}.{VERSION_MINOR}.{VERSION_PATCH})")] CannotDowngrade(u32, u32, u32), #[error("Cannot upgrade to unknown version v{0}.{1}.{2}.")] CannotUpgradeToUnknownVersion(u32, u32, u32), diff --git a/crates/milli/src/heed_codec/version.rs b/crates/milli/src/heed_codec/version.rs index d63ae91d4..ce9724889 100644 --- a/crates/milli/src/heed_codec/version.rs +++ b/crates/milli/src/heed_codec/version.rs @@ -8,8 +8,7 @@ const VERSION_SIZE: usize = std::mem::size_of::() * 3; #[derive(thiserror::Error, Debug)] #[error( - "Could not decode the version: Expected {} bytes but instead received {0} bytes", - VERSION_SIZE + "Could not decode the version: Expected {VERSION_SIZE} bytes but instead received {0} bytes" )] pub struct DecodeVersionError(usize); From 3ef7a478cd43786d63c8b2e60ecb03e7c3812a66 Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 16 Jan 2025 11:00:29 +0100 Subject: [PATCH 03/36] move the version check to the task queue --- crates/index-scheduler/src/error.rs | 6 +-- crates/index-scheduler/src/lib.rs | 3 ++ crates/index-scheduler/src/scheduler/mod.rs | 21 +++++++-- .../src/scheduler/process_batch.rs | 20 +++++++- .../src/scheduler/process_upgrade/mod.rs | 20 ++------ crates/index-scheduler/src/upgrade/mod.rs | 46 ++++++++++++++++++- crates/meilisearch-types/src/error.rs | 3 -- crates/milli/src/error.rs | 10 ++-- crates/milli/src/update/upgrade/mod.rs | 38 ++------------- 9 files changed, 95 insertions(+), 72 deletions(-) diff --git a/crates/index-scheduler/src/error.rs b/crates/index-scheduler/src/error.rs index f6ee1f685..a41672995 100644 --- a/crates/index-scheduler/src/error.rs +++ b/crates/index-scheduler/src/error.rs @@ -147,7 +147,7 @@ pub enum Error { #[error("Corrupted task queue.")] CorruptedTaskQueue, #[error(transparent)] - TaskDatabaseUpdate(Box), + TaskDatabaseUpgrade(Box), #[error(transparent)] HeedTransaction(heed::Error), @@ -202,7 +202,7 @@ impl Error { | Error::Anyhow(_) => true, Error::CreateBatch(_) | Error::CorruptedTaskQueue - | Error::TaskDatabaseUpdate(_) + | Error::TaskDatabaseUpgrade(_) | Error::HeedTransaction(_) => false, #[cfg(test)] Error::PlannedFailure => false, @@ -266,7 +266,7 @@ impl ErrorCode for Error { Error::Anyhow(_) => Code::Internal, Error::CorruptedTaskQueue => Code::Internal, Error::CorruptedDump => Code::Internal, - Error::TaskDatabaseUpdate(_) => Code::Internal, + Error::TaskDatabaseUpgrade(_) => Code::Internal, Error::CreateBatch(_) => Code::Internal, // This one should never be seen by the end user diff --git a/crates/index-scheduler/src/lib.rs b/crates/index-scheduler/src/lib.rs index cc9436a54..b423c47d4 100644 --- a/crates/index-scheduler/src/lib.rs +++ b/crates/index-scheduler/src/lib.rs @@ -369,6 +369,7 @@ impl IndexScheduler { match ret { Ok(Ok(TickOutcome::TickAgain(_))) => (), Ok(Ok(TickOutcome::WaitForSignal)) => run.scheduler.wake_up.wait(), + Ok(Ok(TickOutcome::StopProcessingForever)) => break, Ok(Err(e)) => { tracing::error!("{e}"); // Wait one second when an irrecoverable error occurs. @@ -816,6 +817,8 @@ pub enum TickOutcome { TickAgain(u64), /// The scheduler should wait for an external signal before attempting another `tick`. WaitForSignal, + /// The scheduler exits the run-loop and will never process tasks again + StopProcessingForever, } /// How many indexes we can afford to have open simultaneously. diff --git a/crates/index-scheduler/src/scheduler/mod.rs b/crates/index-scheduler/src/scheduler/mod.rs index 6478cf07a..7a55c9f54 100644 --- a/crates/index-scheduler/src/scheduler/mod.rs +++ b/crates/index-scheduler/src/scheduler/mod.rs @@ -184,6 +184,7 @@ impl IndexScheduler { progress.update_progress(BatchProgress::WritingTasksToDisk); processing_batch.finished(); + let mut stop_scheduler_forever = false; let mut wtxn = self.env.write_txn().map_err(Error::HeedTransaction)?; let mut canceled = RoaringBitmap::new(); @@ -222,7 +223,7 @@ impl IndexScheduler { self.queue .tasks .update_task(&mut wtxn, &task) - .map_err(|e| Error::TaskDatabaseUpdate(Box::new(e)))?; + .map_err(|e| Error::TaskDatabaseUpgrade(Box::new(e)))?; } if let Some(canceled_by) = canceled_by { self.queue.tasks.canceled_by.put(&mut wtxn, &canceled_by, &canceled)?; @@ -273,6 +274,12 @@ impl IndexScheduler { let (task_progress, task_progress_obj) = AtomicTaskStep::new(ids.len() as u32); progress.update_progress(task_progress_obj); + if matches!(err, Error::TaskDatabaseUpgrade(_)) { + tracing::error!( + "Upgrade task failed, tasks won't be processed until the following issue is fixed: {err}" + ); + stop_scheduler_forever = true; + } let error: ResponseError = err.into(); for id in ids.iter() { task_progress.fetch_add(1, Ordering::Relaxed); @@ -280,7 +287,7 @@ impl IndexScheduler { .queue .tasks .get_task(&wtxn, id) - .map_err(|e| Error::TaskDatabaseUpdate(Box::new(e)))? + .map_err(|e| Error::TaskDatabaseUpgrade(Box::new(e)))? .ok_or(Error::CorruptedTaskQueue)?; task.status = Status::Failed; task.error = Some(error.clone()); @@ -297,7 +304,7 @@ impl IndexScheduler { self.queue .tasks .update_task(&mut wtxn, &task) - .map_err(|e| Error::TaskDatabaseUpdate(Box::new(e)))?; + .map_err(|e| Error::TaskDatabaseUpgrade(Box::new(e)))?; } } } @@ -327,7 +334,7 @@ impl IndexScheduler { .queue .tasks .get_task(&rtxn, id) - .map_err(|e| Error::TaskDatabaseUpdate(Box::new(e)))? + .map_err(|e| Error::TaskDatabaseUpgrade(Box::new(e)))? .ok_or(Error::CorruptedTaskQueue)?; if let Err(e) = self.queue.delete_persisted_task_data(&task) { tracing::error!( @@ -345,6 +352,10 @@ impl IndexScheduler { #[cfg(test)] self.breakpoint(crate::test_utils::Breakpoint::AfterProcessing); - Ok(TickOutcome::TickAgain(processed_tasks)) + if stop_scheduler_forever { + Ok(TickOutcome::StopProcessingForever) + } else { + Ok(TickOutcome::TickAgain(processed_tasks)) + } } } diff --git a/crates/index-scheduler/src/scheduler/process_batch.rs b/crates/index-scheduler/src/scheduler/process_batch.rs index f6699ae87..ae98dc83c 100644 --- a/crates/index-scheduler/src/scheduler/process_batch.rs +++ b/crates/index-scheduler/src/scheduler/process_batch.rs @@ -1,4 +1,5 @@ use std::collections::{BTreeSet, HashMap, HashSet}; +use std::panic::{catch_unwind, AssertUnwindSafe}; use std::sync::atomic::Ordering; use meilisearch_types::batches::BatchId; @@ -314,7 +315,24 @@ impl IndexScheduler { task.status = Status::Succeeded; Ok(vec![task]) } - Batch::UpgradeDatabase { tasks } => self.process_upgrade(progress, tasks), + Batch::UpgradeDatabase { mut tasks } => { + let ret = catch_unwind(AssertUnwindSafe(|| self.process_upgrade(progress))); + match ret { + Ok(Ok(())) => (), + Ok(Err(e)) => return Err(Error::TaskDatabaseUpgrade(Box::new(e))), + Err(_e) => { + return Err(Error::TaskDatabaseUpgrade(Box::new( + Error::ProcessBatchPanicked, + ))); + } + } + + for task in tasks.iter_mut() { + task.status = Status::Succeeded; + } + + Ok(tasks) + } } } diff --git a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs index 0c3af1386..f3038d343 100644 --- a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs +++ b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs @@ -1,24 +1,14 @@ use meilisearch_types::{ milli, milli::progress::{Progress, VariableNameStep}, - tasks::{KindWithContent, Status, Task}, }; use crate::{processing::UpgradeDatabaseProgress, Error, IndexScheduler, Result}; impl IndexScheduler { - pub(super) fn process_upgrade( - &self, - progress: Progress, - mut tasks: Vec, - ) -> Result> { + pub(super) fn process_upgrade(&self, progress: Progress) -> Result<()> { progress.update_progress(UpgradeDatabaseProgress::EnsuringCorrectnessOfTheSwap); - // Since we should not have multiple upgrade tasks, we're only going to process the latest one: - let KindWithContent::UpgradeDatabase { from } = tasks.last().unwrap().kind else { - unreachable!() - }; - enum UpgradeIndex {} let indexes = self.index_names()?; @@ -29,14 +19,10 @@ impl IndexScheduler { indexes.len() as u32, )); let index = self.index(uid)?; - milli::update::upgrade::upgrade(&index, from, progress.clone()) + milli::update::upgrade::upgrade(&index, progress.clone()) .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; } - for task in tasks.iter_mut() { - task.status = Status::Succeeded; - } - - Ok(tasks) + Ok(()) } } diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index cd4adef52..a0ad32f57 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -1,16 +1,53 @@ use std::path::Path; +use anyhow::bail; use meilisearch_types::{ heed, tasks::{KindWithContent, Status, Task}, + versioning::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}, }; use time::OffsetDateTime; use tracing::info; use crate::queue::TaskQueue; -pub fn upgrade_task_queue(tasks_path: &Path, version: (u32, u32, u32)) -> anyhow::Result<()> { +pub fn upgrade_task_queue(tasks_path: &Path, from: (u32, u32, u32)) -> anyhow::Result<()> { + let current_major: u32 = VERSION_MAJOR.parse().unwrap(); + let current_minor: u32 = VERSION_MINOR.parse().unwrap(); + let current_patch: u32 = VERSION_PATCH.parse().unwrap(); + + let upgrade_functions = + [(v1_12_to_current as fn(&Path) -> anyhow::Result<()>, "Upgrading from v1.12 to v1.13")]; + + let start = match from { + (1, 12, _) => 0, + (major, minor, patch) => { + if major > current_major + || (major == current_major && minor > current_minor) + || (major == current_major && minor == current_minor && patch > current_patch) + { + bail!( + "Database version {major}.{minor}.{patch} is higher than the binary version {current_major}.{current_minor}.{current_patch}. Downgrade is not supported", + ); + } else if major < current_major + || (major == current_major && minor < current_minor) + || (major == current_major && minor == current_minor && patch < current_patch) + { + bail!( + "Database version {major}.{minor}.{patch} is too old for the experimental dumpless upgrade feature. Please generate a dump using the v{major}.{minor}.{patch} and imports it in the v{current_major}.{current_minor}.{current_patch}", + ); + } else { + bail!("Unknown database version: v{major}.{minor}.{patch}"); + } + } + }; + info!("Upgrading the task queue"); + for (upgrade, upgrade_name) in upgrade_functions[start..].iter() { + info!("{upgrade_name}"); + (upgrade)(tasks_path)?; + } + let env = unsafe { heed::EnvOpenOptions::new() .max_dbs(19) @@ -33,7 +70,7 @@ pub fn upgrade_task_queue(tasks_path: &Path, version: (u32, u32, u32)) -> anyhow canceled_by: None, details: None, status: Status::Enqueued, - kind: KindWithContent::UpgradeDatabase { from: version }, + kind: KindWithContent::UpgradeDatabase { from }, }, )?; wtxn.commit()?; @@ -41,3 +78,8 @@ pub fn upgrade_task_queue(tasks_path: &Path, version: (u32, u32, u32)) -> anyhow env.prepare_for_closing().wait(); Ok(()) } + +/// The task queue is 100% compatible with the previous versions +fn v1_12_to_current(_path: &Path) -> anyhow::Result<()> { + Ok(()) +} diff --git a/crates/meilisearch-types/src/error.rs b/crates/meilisearch-types/src/error.rs index 54b9c8474..fa1d4a7d3 100644 --- a/crates/meilisearch-types/src/error.rs +++ b/crates/meilisearch-types/src/error.rs @@ -456,9 +456,6 @@ impl ErrorCode for milli::Error { | UserError::DocumentEditionCompilationError(_) => { Code::EditDocumentsByFunctionError } - UserError::TooOldForUpgrade(_, _, _) - | UserError::CannotDowngrade(_, _, _) - | UserError::CannotUpgradeToUnknownVersion(_, _, _) => Code::CouldNotUpgrade, } } } diff --git a/crates/milli/src/error.rs b/crates/milli/src/error.rs index aad9b9a9f..c8ed1912f 100644 --- a/crates/milli/src/error.rs +++ b/crates/milli/src/error.rs @@ -10,7 +10,7 @@ use rhai::EvalAltResult; use serde_json::Value; use thiserror::Error; -use crate::constants::{RESERVED_GEO_FIELD_NAME, VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}; +use crate::constants::RESERVED_GEO_FIELD_NAME; use crate::documents::{self, DocumentsBatchCursorError}; use crate::thread_pool_no_abort::PanicCatched; use crate::{CriterionError, DocumentId, FieldId, Object, SortError}; @@ -74,6 +74,8 @@ pub enum InternalError { AbortedIndexation, #[error("The matching words list contains at least one invalid member")] InvalidMatchingWords, + #[error("Cannot upgrade to the following version: v{0}.{1}.{2}.")] + CannotUpgradeToVersion(u32, u32, u32), #[error(transparent)] ArroyError(#[from] arroy::Error), #[error(transparent)] @@ -288,12 +290,6 @@ and can not be more than 511 bytes.", .document_id.to_string() DocumentEditionCompilationError(rhai::ParseError), #[error("{0}")] DocumentEmbeddingError(String), - #[error("Upgrade could not be processed because v{0}.{1}.{2} of the database is too old. Please re-open the v{0}.{1}.{2} and use a dump to upgrade your version. The oldest version meilisearch can upgrade from is v1.12.0.")] - TooOldForUpgrade(u32, u32, u32), - #[error("Upgrade could not be processed because the database version (v{0}.{1}.{2}) is newer than the targeted version (v{VERSION_MAJOR}.{VERSION_MINOR}.{VERSION_PATCH})")] - CannotDowngrade(u32, u32, u32), - #[error("Cannot upgrade to unknown version v{0}.{1}.{2}.")] - CannotUpgradeToUnknownVersion(u32, u32, u32), } impl From for Error { diff --git a/crates/milli/src/update/upgrade/mod.rs b/crates/milli/src/update/upgrade/mod.rs index aab160b38..e06f3657e 100644 --- a/crates/milli/src/update/upgrade/mod.rs +++ b/crates/milli/src/update/upgrade/mod.rs @@ -1,47 +1,17 @@ -use crate::constants::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}; use crate::progress::{Progress, VariableNameStep}; -use crate::{Index, Result, UserError}; +use crate::{Index, InternalError, Result}; -pub fn upgrade(index: &Index, base_version: (u32, u32, u32), progress: Progress) -> Result<()> { +pub fn upgrade(index: &Index, progress: Progress) -> Result<()> { let wtxn = index.env.write_txn()?; let from = index.get_version(&wtxn)?; let upgrade_functions = [(v1_12_to_v1_13 as fn(&Index, Progress) -> Result<()>, "Upgrading from v1.12 to v1.13")]; - let current_major: u32 = VERSION_MAJOR.parse().unwrap(); - let current_minor: u32 = VERSION_MINOR.parse().unwrap(); - let current_patch: u32 = VERSION_PATCH.parse().unwrap(); - let start = match from { // If there was no version it means we're coming from the base version specified by the index-scheduler - None if base_version.0 == 1 && base_version.1 == 12 => 0, - Some((1, 12, _)) => 0, - - // --- Error handling - None => { - return Err(UserError::TooOldForUpgrade( - base_version.0, - base_version.1, - base_version.2, - ) - .into()); - } - Some((major, minor, patch)) if major == 0 || (major == 1 && minor < 12) => { - return Err(UserError::TooOldForUpgrade(major, minor, patch).into()); - } - Some((major, minor, patch)) if major > current_major => { - return Err(UserError::CannotDowngrade(major, minor, patch).into()); - } - Some((major, minor, patch)) if major == current_major && minor > current_minor => { - return Err(UserError::CannotDowngrade(major, minor, patch).into()); - } - Some((major, minor, patch)) - if major == current_major && minor == current_minor && patch > current_patch => - { - return Err(UserError::CannotDowngrade(major, minor, patch).into()); - } + None | Some((1, 12, _)) => 0, Some((major, minor, patch)) => { - return Err(UserError::CannotUpgradeToUnknownVersion(major, minor, patch).into()) + return Err(InternalError::CannotUpgradeToVersion(major, minor, patch).into()) } }; From 102681e38402c3e5f9dc3aa274cd8cb0d4c2e115 Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 16 Jan 2025 12:56:23 +0100 Subject: [PATCH 04/36] starts adding tests and fix the starts of meilisearch --- crates/index-scheduler/src/upgrade/mod.rs | 2 +- crates/meilisearch-types/src/versioning.rs | 31 ++++++++++++---- crates/meilisearch/src/lib.rs | 16 ++++---- crates/meilisearch/tests/integration.rs | 1 + crates/meilisearch/tests/upgrade/mod.rs | 43 ++++++++++++++++++++++ crates/meilitool/src/upgrade/mod.rs | 39 ++++++++------------ crates/meilitool/src/upgrade/v1_10.rs | 6 +-- crates/meilitool/src/upgrade/v1_11.rs | 6 +-- crates/meilitool/src/upgrade/v1_12.rs | 14 +++---- 9 files changed, 106 insertions(+), 52 deletions(-) create mode 100644 crates/meilisearch/tests/upgrade/mod.rs diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index a0ad32f57..7dc4f8055 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -20,7 +20,7 @@ pub fn upgrade_task_queue(tasks_path: &Path, from: (u32, u32, u32)) -> anyhow::R [(v1_12_to_current as fn(&Path) -> anyhow::Result<()>, "Upgrading from v1.12 to v1.13")]; let start = match from { - (1, 12, _) => 0, + (1, 12, patch) if patch < current_patch => 0, (major, minor, patch) => { if major > current_major || (major == current_major && minor > current_minor) diff --git a/crates/meilisearch-types/src/versioning.rs b/crates/meilisearch-types/src/versioning.rs index 081c95c6e..054d2e312 100644 --- a/crates/meilisearch-types/src/versioning.rs +++ b/crates/meilisearch-types/src/versioning.rs @@ -24,7 +24,7 @@ pub fn create_version_file( fs::write(version_path, format!("{}.{}.{}", major, minor, patch)) } -pub fn get_version(db_path: &Path) -> Result<(String, String, String), VersionFileError> { +pub fn get_version(db_path: &Path) -> Result<(u32, u32, u32), VersionFileError> { let version_path = db_path.join(VERSION_FILE_NAME); match fs::read_to_string(version_path) { @@ -36,11 +36,28 @@ pub fn get_version(db_path: &Path) -> Result<(String, String, String), VersionFi } } -pub fn parse_version(version: &str) -> Result<(String, String, String), VersionFileError> { +pub fn parse_version(version: &str) -> Result<(u32, u32, u32), VersionFileError> { let version_components = version.trim().split('.').collect::>(); let (major, minor, patch) = match &version_components[..] { - [major, minor, patch] => (major.to_string(), minor.to_string(), patch.to_string()), - _ => return Err(VersionFileError::MalformedVersionFile), + [major, minor, patch] => ( + major.parse().map_err(|e| VersionFileError::MalformedVersionFile { + context: format!("Could not parse the major: {e}"), + })?, + minor.parse().map_err(|e| VersionFileError::MalformedVersionFile { + context: format!("Could not parse the minor: {e}"), + })?, + patch.parse().map_err(|e| VersionFileError::MalformedVersionFile { + context: format!("Could not parse the patch: {e}"), + })?, + ), + _ => { + return Err(VersionFileError::MalformedVersionFile { + context: format!( + "The version contains {} parts instead of 3 (major, minor and patch)", + version_components.len() + ), + }) + } }; Ok((major, minor, patch)) } @@ -53,14 +70,14 @@ pub enum VersionFileError { env!("CARGO_PKG_VERSION").to_string() )] MissingVersionFile, - #[error("Version file is corrupted and thus Meilisearch is unable to determine the version of the database.")] - MalformedVersionFile, + #[error("Version file is corrupted and thus Meilisearch is unable to determine the version of the database. {context}")] + MalformedVersionFile { context: String }, #[error( "Your database version ({major}.{minor}.{patch}) is incompatible with your current engine version ({}).\n\ To migrate data between Meilisearch versions, please follow our guide on https://www.meilisearch.com/docs/learn/update_and_migration/updating.", env!("CARGO_PKG_VERSION").to_string() )] - VersionMismatch { major: String, minor: String, patch: String }, + VersionMismatch { major: u32, minor: u32, patch: u32 }, #[error(transparent)] IoError(#[from] std::io::Error), diff --git a/crates/meilisearch/src/lib.rs b/crates/meilisearch/src/lib.rs index ebdaab7b6..4f513532b 100644 --- a/crates/meilisearch/src/lib.rs +++ b/crates/meilisearch/src/lib.rs @@ -35,12 +35,13 @@ use extractors::payload::PayloadConfig; use index_scheduler::upgrade::upgrade_task_queue; use index_scheduler::{IndexScheduler, IndexSchedulerOptions}; use meilisearch_auth::AuthController; +use meilisearch_types::milli::constants::VERSION_MAJOR; use meilisearch_types::milli::documents::{DocumentsBatchBuilder, DocumentsBatchReader}; use meilisearch_types::milli::update::{IndexDocumentsConfig, IndexDocumentsMethod}; use meilisearch_types::settings::apply_settings_to_builder; use meilisearch_types::tasks::KindWithContent; use meilisearch_types::versioning::{ - create_current_version_file, get_version, VersionFileError, VERSION_MAJOR, VERSION_MINOR, + create_current_version_file, get_version, VersionFileError, VERSION_MINOR, VERSION_PATCH, }; use meilisearch_types::{compression, milli, VERSION_FILE_NAME}; pub use option::Opt; @@ -345,14 +346,13 @@ fn check_version_and_update_task_queue( ) -> anyhow::Result<()> { let (major, minor, patch) = get_version(db_path)?; - if major != VERSION_MAJOR || minor != VERSION_MINOR { + let version_major: u32 = VERSION_MAJOR.parse().unwrap(); + let version_minor: u32 = VERSION_MINOR.parse().unwrap(); + let version_patch: u32 = VERSION_PATCH.parse().unwrap(); + + if major != version_major || minor != version_minor || patch > version_patch { if experimental_dumpless_upgrade { - let version = ( - major.parse().map_err(|_| VersionFileError::MalformedVersionFile)?, - minor.parse().map_err(|_| VersionFileError::MalformedVersionFile)?, - patch.parse().map_err(|_| VersionFileError::MalformedVersionFile)?, - ); - return upgrade_task_queue(&db_path.join("tasks"), version); + return upgrade_task_queue(&db_path.join("tasks"), (major, minor, patch)); } else { return Err(VersionFileError::VersionMismatch { major, minor, patch }.into()); } diff --git a/crates/meilisearch/tests/integration.rs b/crates/meilisearch/tests/integration.rs index 85deb9cdf..7c3b8affe 100644 --- a/crates/meilisearch/tests/integration.rs +++ b/crates/meilisearch/tests/integration.rs @@ -14,6 +14,7 @@ mod snapshot; mod stats; mod swap_indexes; mod tasks; +mod upgrade; mod vector; // Tests are isolated by features in different modules to allow better readability, test diff --git a/crates/meilisearch/tests/upgrade/mod.rs b/crates/meilisearch/tests/upgrade/mod.rs new file mode 100644 index 000000000..152f49850 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/mod.rs @@ -0,0 +1,43 @@ +use meili_snap::snapshot; +use meilisearch::Opt; + +use crate::common::{default_settings, Server}; + +#[actix_rt::test] +async fn malformed_version_file() { + let temp = tempfile::tempdir().unwrap(); + let default_settings = default_settings(temp.path()); + let db_path = default_settings.db_path.clone(); + std::fs::create_dir_all(&db_path).unwrap(); + std::fs::write(db_path.join("VERSION"), "kefir").unwrap(); + let options = Opt { experimental_dumpless_upgrade: true, ..default_settings }; + let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err(); + snapshot!(err, @"Version file is corrupted and thus Meilisearch is unable to determine the version of the database."); +} + +#[actix_rt::test] +async fn version_too_old() { + let temp = tempfile::tempdir().unwrap(); + let default_settings = default_settings(temp.path()); + let db_path = default_settings.db_path.clone(); + std::fs::create_dir_all(&db_path).unwrap(); + std::fs::write(db_path.join("VERSION"), "1.11.9999").unwrap(); + let options = Opt { experimental_dumpless_upgrade: true, ..default_settings }; + let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err(); + snapshot!(err, @"Database version 1.11.9999 is too old for the experimental dumpless upgrade feature. Please generate a dump using the v1.11.9999 and imports it in the v1.12.2"); +} + +#[actix_rt::test] +async fn version_requires_downgrade() { + let temp = tempfile::tempdir().unwrap(); + let default_settings = default_settings(temp.path()); + let db_path = default_settings.db_path.clone(); + std::fs::create_dir_all(&db_path).unwrap(); + let major = meilisearch_types::versioning::VERSION_MAJOR; + let minor = meilisearch_types::versioning::VERSION_MINOR; + let patch = meilisearch_types::versioning::VERSION_PATCH.parse::().unwrap() + 1; + std::fs::write(db_path.join("VERSION"), format!("{major}.{minor}.{patch}")).unwrap(); + let options = Opt { experimental_dumpless_upgrade: true, ..default_settings }; + let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err(); + snapshot!(err, @"Database version 1.12.3 is higher than the binary version 1.12.2. Downgrade is not supported"); +} diff --git a/crates/meilitool/src/upgrade/mod.rs b/crates/meilitool/src/upgrade/mod.rs index 2d5230341..f5d484466 100644 --- a/crates/meilitool/src/upgrade/mod.rs +++ b/crates/meilitool/src/upgrade/mod.rs @@ -14,8 +14,8 @@ use crate::upgrade::v1_11::v1_10_to_v1_11; pub struct OfflineUpgrade { pub db_path: PathBuf, - pub current_version: (String, String, String), - pub target_version: (String, String, String), + pub current_version: (u32, u32, u32), + pub target_version: (u32, u32, u32), } impl OfflineUpgrade { @@ -50,7 +50,7 @@ impl OfflineUpgrade { let upgrade_list = [ ( - v1_9_to_v1_10 as fn(&Path, &str, &str, &str) -> Result<(), anyhow::Error>, + v1_9_to_v1_10 as fn(&Path, u32, u32, u32) -> Result<(), anyhow::Error>, "1", "10", "0", @@ -62,18 +62,14 @@ impl OfflineUpgrade { let no_upgrade: usize = upgrade_list.len(); - let (current_major, current_minor, current_patch) = &self.current_version; + let (current_major, current_minor, current_patch) = self.current_version; - let start_at = match ( - current_major.as_str(), - current_minor.as_str(), - current_patch.as_str(), - ) { - ("1", "9", _) => 0, - ("1", "10", _) => 1, - ("1", "11", _) => 2, - ("1", "12", "0" | "1" | "2") => 3, - ("1", "12", "3" | "4" | "5") => no_upgrade, + let start_at = match (current_major, current_minor, current_patch) { + (1, 9, _) => 0, + (1, 10, _) => 1, + (1, 11, _) => 2, + (1, 12, 0 | 1 | 2) => 3, + (1, 12, 3 | 4 | 5) => no_upgrade, _ => { bail!("Unsupported current version {current_major}.{current_minor}.{current_patch}. Can only upgrade from versions in range [{}-{}]", FIRST_SUPPORTED_UPGRADE_FROM_VERSION, @@ -81,16 +77,13 @@ impl OfflineUpgrade { } }; - let (target_major, target_minor, target_patch) = &self.target_version; + let (target_major, target_minor, target_patch) = self.target_version; - let ends_at = match (target_major.as_str(), target_minor.as_str(), target_patch.as_str()) { - ("1", "10", _) => 0, - ("1", "11", _) => 1, - ("1", "12", "0" | "1" | "2") => 2, - ("1", "12", "3" | "4" | "5") => 3, - (major, _, _) if major.starts_with('v') => { - bail!("Target version must not starts with a `v`. Instead of writing `v1.9.0` write `1.9.0` for example.") - } + let ends_at = match (target_major, target_minor, target_patch) { + (1, 10, _) => 0, + (1, 11, _) => 1, + (1, 12, x) if x == 0 || x == 1 || x == 2 => 2, + (1, 12, 3 | 4 | 5) => 3, _ => { bail!("Unsupported target version {target_major}.{target_minor}.{target_patch}. Can only upgrade to versions in range [{}-{}]", FIRST_SUPPORTED_UPGRADE_TO_VERSION, diff --git a/crates/meilitool/src/upgrade/v1_10.rs b/crates/meilitool/src/upgrade/v1_10.rs index a35fd4184..043520e82 100644 --- a/crates/meilitool/src/upgrade/v1_10.rs +++ b/crates/meilitool/src/upgrade/v1_10.rs @@ -153,9 +153,9 @@ fn date_round_trip( pub fn v1_9_to_v1_10( db_path: &Path, - _origin_major: &str, - _origin_minor: &str, - _origin_patch: &str, + _origin_major: u32, + _origin_minor: u32, + _origin_patch: u32, ) -> anyhow::Result<()> { println!("Upgrading from v1.9.0 to v1.10.0"); // 2 changes here diff --git a/crates/meilitool/src/upgrade/v1_11.rs b/crates/meilitool/src/upgrade/v1_11.rs index e24a35e8b..44aeb125f 100644 --- a/crates/meilitool/src/upgrade/v1_11.rs +++ b/crates/meilitool/src/upgrade/v1_11.rs @@ -16,9 +16,9 @@ use crate::{try_opening_database, try_opening_poly_database}; pub fn v1_10_to_v1_11( db_path: &Path, - _origin_major: &str, - _origin_minor: &str, - _origin_patch: &str, + _origin_major: u32, + _origin_minor: u32, + _origin_patch: u32, ) -> anyhow::Result<()> { println!("Upgrading from v1.10.0 to v1.11.0"); diff --git a/crates/meilitool/src/upgrade/v1_12.rs b/crates/meilitool/src/upgrade/v1_12.rs index 593fb833c..67a19c370 100644 --- a/crates/meilitool/src/upgrade/v1_12.rs +++ b/crates/meilitool/src/upgrade/v1_12.rs @@ -25,9 +25,9 @@ use crate::uuid_codec::UuidCodec; pub fn v1_11_to_v1_12( db_path: &Path, - _origin_major: &str, - _origin_minor: &str, - _origin_patch: &str, + _origin_major: u32, + _origin_minor: u32, + _origin_patch: u32, ) -> anyhow::Result<()> { println!("Upgrading from v1.11.0 to v1.12.0"); @@ -38,13 +38,13 @@ pub fn v1_11_to_v1_12( pub fn v1_12_to_v1_12_3( db_path: &Path, - origin_major: &str, - origin_minor: &str, - origin_patch: &str, + origin_major: u32, + origin_minor: u32, + origin_patch: u32, ) -> anyhow::Result<()> { println!("Upgrading from v1.12.{{0, 1, 2}} to v1.12.3"); - if origin_minor == "12" { + if origin_minor == 12 { rebuild_field_distribution(db_path)?; } else { println!("Not rebuilding field distribution as it wasn't corrupted coming from v{origin_major}.{origin_minor}.{origin_patch}"); From 0cc25c7e4c23c3d9e875b9c1a75ca457df604558 Mon Sep 17 00:00:00 2001 From: Tamo Date: Mon, 20 Jan 2025 14:37:31 +0100 Subject: [PATCH 05/36] add a large test importing a data.ms from the v1.12.0 --- crates/index-scheduler/src/scheduler/test.rs | 6 +- crates/index-scheduler/src/upgrade/mod.rs | 7 +- crates/meilisearch-types/src/tasks.rs | 15 +- crates/meilisearch/tests/upgrade/mod.rs | 46 +- crates/meilisearch/tests/upgrade/v1_12/mod.rs | 1 + .../kefir_settings.snap | 77 +++ .../search_with_sort_and_filter.snap | 25 + .../batch_by_batchUids_after_deletion.snap | 11 + ...rEnqueuedAt_equal_2025-01-16T16:47:41.snap | 484 ++++++++++++++++ ...rFinishedAt_equal_2025-01-16T16:47:41.snap | 484 ++++++++++++++++ ...erStartedAt_equal_2025-01-16T16:47:41.snap | 484 ++++++++++++++++ .../batches_filter_batchUids_equal_10.snap | 39 ++ ...eEnqueuedAt_equal_2025-01-16T16:47:41.snap | 58 ++ ...eFinishedAt_equal_2025-01-16T16:47:41.snap | 58 ++ ...reStartedAt_equal_2025-01-16T16:47:41.snap | 58 ++ .../batches_filter_canceledBy_equal_19.snap | 40 ++ ...atches_filter_statuses_equal_canceled.snap | 40 ++ .../batches_filter_uids_equal_10.snap | 39 ++ .../task_by_batchUids_after_deletion.snap | 11 + ...rEnqueuedAt_equal_2025-01-16T16:47:41.snap | 390 +++++++++++++ ...rFinishedAt_equal_2025-01-16T16:47:41.snap | 390 +++++++++++++ ...erStartedAt_equal_2025-01-16T16:47:41.snap | 390 +++++++++++++ .../tasks_filter_batchUids_equal_10.snap | 33 ++ ...eEnqueuedAt_equal_2025-01-16T16:47:41.snap | 46 ++ ...eFinishedAt_equal_2025-01-16T16:47:41.snap | 46 ++ ...reStartedAt_equal_2025-01-16T16:47:41.snap | 46 ++ .../tasks_filter_canceledBy_equal_19.snap | 29 + .../tasks_filter_statuses_equal_canceled.snap | 29 + .../tasks_filter_uids_equal_10.snap | 33 ++ ...ue_once_everything_has_been_processed.snap | 530 ++++++++++++++++++ ...ue_once_everything_has_been_processed.snap | 424 ++++++++++++++ .../check_the_keys/list_all_keys.snap | 42 ++ .../list_all_keys_after_removing_kefir.snap | 26 + .../tests/upgrade/v1_12/v1_12_0.ms/VERSION | 1 + .../upgrade/v1_12/v1_12_0.ms/auth/data.mdb | Bin 0 -> 57344 bytes .../upgrade/v1_12/v1_12_0.ms/auth/lock.mdb | Bin 0 -> 8192 bytes .../data.mdb | Bin 0 -> 155648 bytes .../lock.mdb | Bin 0 -> 65664 bytes .../upgrade/v1_12/v1_12_0.ms/instance-uid | 1 + .../upgrade/v1_12/v1_12_0.ms/tasks/data.mdb | Bin 0 -> 208896 bytes .../upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb | Bin 0 -> 8192 bytes .../tests/upgrade/v1_12/v1_12_0.rs | 243 ++++++++ crates/milli/src/update/upgrade/mod.rs | 4 +- 43 files changed, 4675 insertions(+), 11 deletions(-) create mode 100644 crates/meilisearch/tests/upgrade/v1_12/mod.rs create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/kefir_settings.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/search_with_sort_and_filter.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batch_by_batchUids_after_deletion.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_batchUids_equal_10.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_canceledBy_equal_19.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_statuses_equal_canceled.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_uids_equal_10.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/task_by_batchUids_after_deletion.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_batchUids_equal_10.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_canceledBy_equal_19.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_statuses_equal_canceled.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_uids_equal_10.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_batch_queue_once_everything_has_been_processed.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_task_queue_once_everything_has_been_processed.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_keys/list_all_keys.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_keys/list_all_keys_after_removing_kefir.snap create mode 100644 crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/VERSION create mode 100644 crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/data.mdb create mode 100644 crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/lock.mdb create mode 100644 crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/data.mdb create mode 100644 crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/lock.mdb create mode 100644 crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/instance-uid create mode 100644 crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/data.mdb create mode 100644 crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb create mode 100644 crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs diff --git a/crates/index-scheduler/src/scheduler/test.rs b/crates/index-scheduler/src/scheduler/test.rs index e2b3666b2..a8ef88d56 100644 --- a/crates/index-scheduler/src/scheduler/test.rs +++ b/crates/index-scheduler/src/scheduler/test.rs @@ -903,7 +903,7 @@ fn create_and_list_index() { index_scheduler.index("kefir").unwrap(); let list = index_scheduler.get_paginated_indexes_stats(&AuthFilter::default(), 0, 20).unwrap(); - snapshot!(json_string!(list, { "[1][0][1].created_at" => "[date]", "[1][0][1].updated_at" => "[date]" }), @r#" + snapshot!(json_string!(list, { "[1][0][1].created_at" => "[date]", "[1][0][1].updated_at" => "[date]", "[1][0][1].used_database_size" => "[bytes]", "[1][0][1].database_size" => "[bytes]" }), @r#" [ 1, [ @@ -911,8 +911,8 @@ fn create_and_list_index() { "kefir", { "number_of_documents": 0, - "database_size": 24576, - "used_database_size": 8192, + "database_size": "[bytes]", + "used_database_size": "[bytes]", "primary_key": null, "field_distribution": {}, "created_at": "[date]", diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index 7dc4f8055..ec63d0dc6 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -20,7 +20,7 @@ pub fn upgrade_task_queue(tasks_path: &Path, from: (u32, u32, u32)) -> anyhow::R [(v1_12_to_current as fn(&Path) -> anyhow::Result<()>, "Upgrading from v1.12 to v1.13")]; let start = match from { - (1, 12, patch) if patch < current_patch => 0, + (1, 12, _) => 0, (major, minor, patch) => { if major > current_major || (major == current_major && minor > current_minor) @@ -29,10 +29,7 @@ pub fn upgrade_task_queue(tasks_path: &Path, from: (u32, u32, u32)) -> anyhow::R bail!( "Database version {major}.{minor}.{patch} is higher than the binary version {current_major}.{current_minor}.{current_patch}. Downgrade is not supported", ); - } else if major < current_major - || (major == current_major && minor < current_minor) - || (major == current_major && minor == current_minor && patch < current_patch) - { + } else if major < 1 || (major == current_major && minor < 12) { bail!( "Database version {major}.{minor}.{patch} is too old for the experimental dumpless upgrade feature. Please generate a dump using the v{major}.{minor}.{patch} and imports it in the v{current_major}.{current_minor}.{current_patch}", ); diff --git a/crates/meilisearch-types/src/tasks.rs b/crates/meilisearch-types/src/tasks.rs index 0caad08fb..265abb8c3 100644 --- a/crates/meilisearch-types/src/tasks.rs +++ b/crates/meilisearch-types/src/tasks.rs @@ -547,6 +547,8 @@ impl FromStr for Kind { Ok(Kind::DumpCreation) } else if kind.eq_ignore_ascii_case("snapshotCreation") { Ok(Kind::SnapshotCreation) + } else if kind.eq_ignore_ascii_case("upgradeDatabase") { + Ok(Kind::UpgradeDatabase) } else { Err(ParseTaskKindError(kind.to_owned())) } @@ -704,7 +706,9 @@ pub fn serialize_duration( #[cfg(test)] mod tests { - use super::Details; + use std::str::FromStr; + + use super::{Details, Kind}; use crate::heed::types::SerdeJson; use crate::heed::{BytesDecode, BytesEncode}; @@ -720,4 +724,13 @@ mod tests { meili_snap::snapshot!(format!("{:?}", details), @r###"TaskDeletion { matched_tasks: 1, deleted_tasks: None, original_filter: "hello" }"###); meili_snap::snapshot!(format!("{:?}", deserialised), @r###"TaskDeletion { matched_tasks: 1, deleted_tasks: None, original_filter: "hello" }"###); } + + #[test] + fn all_kind_can_be_from_str() { + for kind in enum_iterator::all::() { + let s = kind.to_string(); + let k = Kind::from_str(&s).map_err(|e| format!("Could not from_str {s}: {e}")).unwrap(); + assert_eq!(kind, k, "{kind}.to_string() returned {s} which was parsed as {k}"); + } + } } diff --git a/crates/meilisearch/tests/upgrade/mod.rs b/crates/meilisearch/tests/upgrade/mod.rs index 152f49850..6feacf982 100644 --- a/crates/meilisearch/tests/upgrade/mod.rs +++ b/crates/meilisearch/tests/upgrade/mod.rs @@ -1,8 +1,27 @@ +mod v1_12; + use meili_snap::snapshot; use meilisearch::Opt; use crate::common::{default_settings, Server}; +use std::path::Path; +use std::{fs, io}; + +fn copy_dir_all(src: impl AsRef, dst: impl AsRef) -> io::Result<()> { + fs::create_dir_all(&dst)?; + for entry in fs::read_dir(src)? { + let entry = entry?; + let ty = entry.file_type()?; + if ty.is_dir() { + copy_dir_all(entry.path(), dst.as_ref().join(entry.file_name()))?; + } else { + fs::copy(entry.path(), dst.as_ref().join(entry.file_name()))?; + } + } + Ok(()) +} + #[actix_rt::test] async fn malformed_version_file() { let temp = tempfile::tempdir().unwrap(); @@ -12,7 +31,7 @@ async fn malformed_version_file() { std::fs::write(db_path.join("VERSION"), "kefir").unwrap(); let options = Opt { experimental_dumpless_upgrade: true, ..default_settings }; let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err(); - snapshot!(err, @"Version file is corrupted and thus Meilisearch is unable to determine the version of the database."); + snapshot!(err, @"Version file is corrupted and thus Meilisearch is unable to determine the version of the database. The version contains 1 parts instead of 3 (major, minor and patch)"); } #[actix_rt::test] @@ -41,3 +60,28 @@ async fn version_requires_downgrade() { let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err(); snapshot!(err, @"Database version 1.12.3 is higher than the binary version 1.12.2. Downgrade is not supported"); } + +#[actix_rt::test] +async fn upgrade_to_the_current_version() { + let temp = tempfile::tempdir().unwrap(); + let server = Server::new_with_options(default_settings(temp.path())).await.unwrap(); + drop(server); + + let server = Server::new_with_options(Opt { + experimental_dumpless_upgrade: true, + ..default_settings(temp.path()) + }) + .await + .unwrap(); + // The upgrade tasks should NOT be spawned => task queue is empty + let (tasks, _status) = server.tasks().await; + snapshot!(tasks, @r#" + { + "results": [], + "total": 0, + "limit": 20, + "from": null, + "next": null + } + "#); +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/mod.rs b/crates/meilisearch/tests/upgrade/v1_12/mod.rs new file mode 100644 index 000000000..e84a0aa43 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/mod.rs @@ -0,0 +1 @@ +mod v1_12_0; diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/kefir_settings.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/kefir_settings.snap new file mode 100644 index 000000000..5a9ea6247 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/kefir_settings.snap @@ -0,0 +1,77 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "displayedAttributes": [ + "*" + ], + "searchableAttributes": [ + "*" + ], + "filterableAttributes": [ + "age", + "surname" + ], + "sortableAttributes": [ + "age" + ], + "rankingRules": [ + "words", + "typo", + "proximity", + "attribute", + "sort", + "exactness" + ], + "stopWords": [ + "le", + "un" + ], + "nonSeparatorTokens": [], + "separatorTokens": [], + "dictionary": [], + "synonyms": { + "boubou": [ + "kefir" + ] + }, + "distinctAttribute": null, + "proximityPrecision": "byWord", + "typoTolerance": { + "enabled": true, + "minWordSizeForTypos": { + "oneTypo": 4, + "twoTypos": 9 + }, + "disableOnWords": [ + "kefir" + ], + "disableOnAttributes": [ + "surname" + ] + }, + "faceting": { + "maxValuesPerFacet": 99, + "sortFacetValuesBy": { + "*": "alpha", + "age": "count" + } + }, + "pagination": { + "maxTotalHits": 15 + }, + "searchCutoffMs": 8000, + "localizedAttributes": [ + { + "attributePatterns": [ + "description" + ], + "locales": [ + "fra" + ] + } + ], + "facetSearch": true, + "prefixSearch": "indexingTime" +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/search_with_sort_and_filter.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/search_with_sort_and_filter.snap new file mode 100644 index 000000000..8afff3e0c --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/search_with_sort_and_filter.snap @@ -0,0 +1,25 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "hits": [ + { + "id": 1, + "name": "kefir", + "surname": [ + "kef", + "kefkef", + "kefirounet", + "boubou" + ], + "age": 1.3, + "description": "kefir est un petit chien blanc très mignon" + } + ], + "query": "", + "processingTimeMs": "[duration]", + "limit": 20, + "offset": 0, + "estimatedTotalHits": 1 +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batch_by_batchUids_after_deletion.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batch_by_batchUids_after_deletion.snap new file mode 100644 index 000000000..3fbfb7c60 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batch_by_batchUids_after_deletion.snap @@ -0,0 +1,11 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [], + "total": 0, + "limit": 20, + "from": null, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..3f8dba8fa --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,484 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 20, + "progress": null, + "details": {}, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "upgradeDatabase": 1 + }, + "indexUids": {} + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 19, + "progress": null, + "details": { + "deletedDocuments": 19546 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "indexDeletion": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.006903297S", + "startedAt": "2025-01-20T11:50:52.874106134Z", + "finishedAt": "2025-01-20T11:50:52.881009431Z" + }, + { + "uid": 18, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0, + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 2, + "status": { + "succeeded": 1, + "canceled": 1 + }, + "types": { + "documentAdditionOrUpdate": 1, + "taskCancelation": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.000481257S", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 17, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000407005S", + "startedAt": "2025-01-20T11:47:53.509403957Z", + "finishedAt": "2025-01-20T11:47:53.509810962Z" + }, + { + "uid": 16, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000403716S", + "startedAt": "2025-01-20T11:47:48.430653005Z", + "finishedAt": "2025-01-20T11:47:48.431056721Z" + }, + { + "uid": 15, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000417016S", + "startedAt": "2025-01-20T11:47:42.429678617Z", + "finishedAt": "2025-01-20T11:47:42.430095633Z" + }, + { + "uid": 14, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 19546 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT12.086284842S", + "startedAt": "2025-01-20T11:47:03.092181576Z", + "finishedAt": "2025-01-20T11:47:15.178466418Z" + }, + { + "uid": 13, + "progress": null, + "details": { + "localizedAttributes": [ + { + "attributePatterns": [ + "description" + ], + "locales": [ + "fr" + ] + } + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.011506614S", + "startedAt": "2025-01-16T17:18:43.29334923Z", + "finishedAt": "2025-01-16T17:18:43.304855844Z" + }, + { + "uid": 12, + "progress": null, + "details": { + "faceting": { + "sortFacetValuesBy": { + "*": "alpha", + "age": "count" + } + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007640163S", + "startedAt": "2025-01-16T17:02:52.539749853Z", + "finishedAt": "2025-01-16T17:02:52.547390016Z" + }, + { + "uid": 11, + "progress": null, + "details": { + "searchCutoffMs": 8000 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007307840S", + "startedAt": "2025-01-16T17:01:14.112756687Z", + "finishedAt": "2025-01-16T17:01:14.120064527Z" + }, + { + "uid": 10, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007391353S", + "startedAt": "2025-01-16T17:00:29.201180268Z", + "finishedAt": "2025-01-16T17:00:29.208571621Z" + }, + { + "uid": 9, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 100 + }, + "pagination": { + "maxTotalHits": 1000 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007445825S", + "startedAt": "2025-01-16T17:00:15.77629445Z", + "finishedAt": "2025-01-16T17:00:15.783740275Z" + }, + { + "uid": 8, + "progress": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + }, + "disableOnWords": [ + "kefir" + ], + "disableOnAttributes": [ + "surname" + ] + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.012020083S", + "startedAt": "2025-01-16T16:59:42.744086671Z", + "finishedAt": "2025-01-16T16:59:42.756106754Z" + }, + { + "uid": 7, + "progress": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + } + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007440092S", + "startedAt": "2025-01-16T16:58:41.2155771Z", + "finishedAt": "2025-01-16T16:58:41.223017192Z" + }, + { + "uid": 6, + "progress": null, + "details": { + "synonyms": { + "boubou": [ + "kefir" + ] + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007565161S", + "startedAt": "2025-01-16T16:54:51.940332781Z", + "finishedAt": "2025-01-16T16:54:51.947897942Z" + }, + { + "uid": 5, + "progress": null, + "details": { + "stopWords": [ + "le", + "un" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.016307263S", + "startedAt": "2025-01-16T16:53:19.913351957Z", + "finishedAt": "2025-01-16T16:53:19.92965922Z" + }, + { + "uid": 4, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.087655941S", + "startedAt": "2025-01-16T16:52:32.631145531Z", + "finishedAt": "2025-01-16T16:52:32.718801472Z" + }, + { + "uid": 3, + "progress": null, + "details": { + "sortableAttributes": [ + "age" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007593573S", + "startedAt": "2025-01-16T16:47:53.677901409Z", + "finishedAt": "2025-01-16T16:47:53.685494982Z" + }, + { + "uid": 2, + "progress": null, + "details": { + "filterableAttributes": [ + "age", + "surname" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.017769760S", + "startedAt": "2025-01-16T16:47:41.211587682Z", + "finishedAt": "2025-01-16T16:47:41.229357442Z" + } + ], + "total": 19, + "limit": 20, + "from": 20, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..3f8dba8fa --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,484 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 20, + "progress": null, + "details": {}, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "upgradeDatabase": 1 + }, + "indexUids": {} + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 19, + "progress": null, + "details": { + "deletedDocuments": 19546 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "indexDeletion": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.006903297S", + "startedAt": "2025-01-20T11:50:52.874106134Z", + "finishedAt": "2025-01-20T11:50:52.881009431Z" + }, + { + "uid": 18, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0, + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 2, + "status": { + "succeeded": 1, + "canceled": 1 + }, + "types": { + "documentAdditionOrUpdate": 1, + "taskCancelation": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.000481257S", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 17, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000407005S", + "startedAt": "2025-01-20T11:47:53.509403957Z", + "finishedAt": "2025-01-20T11:47:53.509810962Z" + }, + { + "uid": 16, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000403716S", + "startedAt": "2025-01-20T11:47:48.430653005Z", + "finishedAt": "2025-01-20T11:47:48.431056721Z" + }, + { + "uid": 15, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000417016S", + "startedAt": "2025-01-20T11:47:42.429678617Z", + "finishedAt": "2025-01-20T11:47:42.430095633Z" + }, + { + "uid": 14, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 19546 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT12.086284842S", + "startedAt": "2025-01-20T11:47:03.092181576Z", + "finishedAt": "2025-01-20T11:47:15.178466418Z" + }, + { + "uid": 13, + "progress": null, + "details": { + "localizedAttributes": [ + { + "attributePatterns": [ + "description" + ], + "locales": [ + "fr" + ] + } + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.011506614S", + "startedAt": "2025-01-16T17:18:43.29334923Z", + "finishedAt": "2025-01-16T17:18:43.304855844Z" + }, + { + "uid": 12, + "progress": null, + "details": { + "faceting": { + "sortFacetValuesBy": { + "*": "alpha", + "age": "count" + } + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007640163S", + "startedAt": "2025-01-16T17:02:52.539749853Z", + "finishedAt": "2025-01-16T17:02:52.547390016Z" + }, + { + "uid": 11, + "progress": null, + "details": { + "searchCutoffMs": 8000 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007307840S", + "startedAt": "2025-01-16T17:01:14.112756687Z", + "finishedAt": "2025-01-16T17:01:14.120064527Z" + }, + { + "uid": 10, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007391353S", + "startedAt": "2025-01-16T17:00:29.201180268Z", + "finishedAt": "2025-01-16T17:00:29.208571621Z" + }, + { + "uid": 9, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 100 + }, + "pagination": { + "maxTotalHits": 1000 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007445825S", + "startedAt": "2025-01-16T17:00:15.77629445Z", + "finishedAt": "2025-01-16T17:00:15.783740275Z" + }, + { + "uid": 8, + "progress": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + }, + "disableOnWords": [ + "kefir" + ], + "disableOnAttributes": [ + "surname" + ] + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.012020083S", + "startedAt": "2025-01-16T16:59:42.744086671Z", + "finishedAt": "2025-01-16T16:59:42.756106754Z" + }, + { + "uid": 7, + "progress": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + } + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007440092S", + "startedAt": "2025-01-16T16:58:41.2155771Z", + "finishedAt": "2025-01-16T16:58:41.223017192Z" + }, + { + "uid": 6, + "progress": null, + "details": { + "synonyms": { + "boubou": [ + "kefir" + ] + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007565161S", + "startedAt": "2025-01-16T16:54:51.940332781Z", + "finishedAt": "2025-01-16T16:54:51.947897942Z" + }, + { + "uid": 5, + "progress": null, + "details": { + "stopWords": [ + "le", + "un" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.016307263S", + "startedAt": "2025-01-16T16:53:19.913351957Z", + "finishedAt": "2025-01-16T16:53:19.92965922Z" + }, + { + "uid": 4, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.087655941S", + "startedAt": "2025-01-16T16:52:32.631145531Z", + "finishedAt": "2025-01-16T16:52:32.718801472Z" + }, + { + "uid": 3, + "progress": null, + "details": { + "sortableAttributes": [ + "age" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007593573S", + "startedAt": "2025-01-16T16:47:53.677901409Z", + "finishedAt": "2025-01-16T16:47:53.685494982Z" + }, + { + "uid": 2, + "progress": null, + "details": { + "filterableAttributes": [ + "age", + "surname" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.017769760S", + "startedAt": "2025-01-16T16:47:41.211587682Z", + "finishedAt": "2025-01-16T16:47:41.229357442Z" + } + ], + "total": 19, + "limit": 20, + "from": 20, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..3f8dba8fa --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,484 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 20, + "progress": null, + "details": {}, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "upgradeDatabase": 1 + }, + "indexUids": {} + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 19, + "progress": null, + "details": { + "deletedDocuments": 19546 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "indexDeletion": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.006903297S", + "startedAt": "2025-01-20T11:50:52.874106134Z", + "finishedAt": "2025-01-20T11:50:52.881009431Z" + }, + { + "uid": 18, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0, + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 2, + "status": { + "succeeded": 1, + "canceled": 1 + }, + "types": { + "documentAdditionOrUpdate": 1, + "taskCancelation": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.000481257S", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 17, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000407005S", + "startedAt": "2025-01-20T11:47:53.509403957Z", + "finishedAt": "2025-01-20T11:47:53.509810962Z" + }, + { + "uid": 16, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000403716S", + "startedAt": "2025-01-20T11:47:48.430653005Z", + "finishedAt": "2025-01-20T11:47:48.431056721Z" + }, + { + "uid": 15, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000417016S", + "startedAt": "2025-01-20T11:47:42.429678617Z", + "finishedAt": "2025-01-20T11:47:42.430095633Z" + }, + { + "uid": 14, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 19546 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT12.086284842S", + "startedAt": "2025-01-20T11:47:03.092181576Z", + "finishedAt": "2025-01-20T11:47:15.178466418Z" + }, + { + "uid": 13, + "progress": null, + "details": { + "localizedAttributes": [ + { + "attributePatterns": [ + "description" + ], + "locales": [ + "fr" + ] + } + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.011506614S", + "startedAt": "2025-01-16T17:18:43.29334923Z", + "finishedAt": "2025-01-16T17:18:43.304855844Z" + }, + { + "uid": 12, + "progress": null, + "details": { + "faceting": { + "sortFacetValuesBy": { + "*": "alpha", + "age": "count" + } + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007640163S", + "startedAt": "2025-01-16T17:02:52.539749853Z", + "finishedAt": "2025-01-16T17:02:52.547390016Z" + }, + { + "uid": 11, + "progress": null, + "details": { + "searchCutoffMs": 8000 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007307840S", + "startedAt": "2025-01-16T17:01:14.112756687Z", + "finishedAt": "2025-01-16T17:01:14.120064527Z" + }, + { + "uid": 10, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007391353S", + "startedAt": "2025-01-16T17:00:29.201180268Z", + "finishedAt": "2025-01-16T17:00:29.208571621Z" + }, + { + "uid": 9, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 100 + }, + "pagination": { + "maxTotalHits": 1000 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007445825S", + "startedAt": "2025-01-16T17:00:15.77629445Z", + "finishedAt": "2025-01-16T17:00:15.783740275Z" + }, + { + "uid": 8, + "progress": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + }, + "disableOnWords": [ + "kefir" + ], + "disableOnAttributes": [ + "surname" + ] + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.012020083S", + "startedAt": "2025-01-16T16:59:42.744086671Z", + "finishedAt": "2025-01-16T16:59:42.756106754Z" + }, + { + "uid": 7, + "progress": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + } + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007440092S", + "startedAt": "2025-01-16T16:58:41.2155771Z", + "finishedAt": "2025-01-16T16:58:41.223017192Z" + }, + { + "uid": 6, + "progress": null, + "details": { + "synonyms": { + "boubou": [ + "kefir" + ] + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007565161S", + "startedAt": "2025-01-16T16:54:51.940332781Z", + "finishedAt": "2025-01-16T16:54:51.947897942Z" + }, + { + "uid": 5, + "progress": null, + "details": { + "stopWords": [ + "le", + "un" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.016307263S", + "startedAt": "2025-01-16T16:53:19.913351957Z", + "finishedAt": "2025-01-16T16:53:19.92965922Z" + }, + { + "uid": 4, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.087655941S", + "startedAt": "2025-01-16T16:52:32.631145531Z", + "finishedAt": "2025-01-16T16:52:32.718801472Z" + }, + { + "uid": 3, + "progress": null, + "details": { + "sortableAttributes": [ + "age" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007593573S", + "startedAt": "2025-01-16T16:47:53.677901409Z", + "finishedAt": "2025-01-16T16:47:53.685494982Z" + }, + { + "uid": 2, + "progress": null, + "details": { + "filterableAttributes": [ + "age", + "surname" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.017769760S", + "startedAt": "2025-01-16T16:47:41.211587682Z", + "finishedAt": "2025-01-16T16:47:41.229357442Z" + } + ], + "total": 19, + "limit": 20, + "from": 20, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_batchUids_equal_10.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_batchUids_equal_10.snap new file mode 100644 index 000000000..737b3ed06 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_batchUids_equal_10.snap @@ -0,0 +1,39 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 10, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + } + ], + "total": 1, + "limit": 20, + "from": 10, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..f4d230296 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,58 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 1, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 0, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.111055654S", + "startedAt": "2025-01-16T16:45:16.020248085Z", + "finishedAt": "2025-01-16T16:45:16.131303739Z" + } + ], + "total": 2, + "limit": 20, + "from": 1, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..f4d230296 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,58 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 1, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 0, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.111055654S", + "startedAt": "2025-01-16T16:45:16.020248085Z", + "finishedAt": "2025-01-16T16:45:16.131303739Z" + } + ], + "total": 2, + "limit": 20, + "from": 1, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..f4d230296 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,58 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 1, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 0, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.111055654S", + "startedAt": "2025-01-16T16:45:16.020248085Z", + "finishedAt": "2025-01-16T16:45:16.131303739Z" + } + ], + "total": 2, + "limit": 20, + "from": 1, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_canceledBy_equal_19.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_canceledBy_equal_19.snap new file mode 100644 index 000000000..5fbeb8a59 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_canceledBy_equal_19.snap @@ -0,0 +1,40 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 18, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0, + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 2, + "status": { + "succeeded": 1, + "canceled": 1 + }, + "types": { + "documentAdditionOrUpdate": 1, + "taskCancelation": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + } + ], + "total": 1, + "limit": 20, + "from": 18, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_statuses_equal_canceled.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_statuses_equal_canceled.snap new file mode 100644 index 000000000..5fbeb8a59 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_statuses_equal_canceled.snap @@ -0,0 +1,40 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 18, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0, + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 2, + "status": { + "succeeded": 1, + "canceled": 1 + }, + "types": { + "documentAdditionOrUpdate": 1, + "taskCancelation": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + } + ], + "total": 1, + "limit": 20, + "from": 18, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_uids_equal_10.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_uids_equal_10.snap new file mode 100644 index 000000000..737b3ed06 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_uids_equal_10.snap @@ -0,0 +1,39 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 10, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + } + ], + "total": 1, + "limit": 20, + "from": 10, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/task_by_batchUids_after_deletion.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/task_by_batchUids_after_deletion.snap new file mode 100644 index 000000000..3fbfb7c60 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/task_by_batchUids_after_deletion.snap @@ -0,0 +1,11 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [], + "total": 0, + "limit": 20, + "from": null, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..2c5631a39 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,390 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 21, + "batchUid": 20, + "indexUid": null, + "status": "succeeded", + "type": "upgradeDatabase", + "canceledBy": null, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 20, + "batchUid": 19, + "indexUid": "mieli", + "status": "succeeded", + "type": "indexDeletion", + "canceledBy": null, + "details": { + "deletedDocuments": 19546 + }, + "error": null, + "duration": "PT0.006903297S", + "enqueuedAt": "2025-01-20T11:50:52.862223877Z", + "startedAt": "2025-01-20T11:50:52.874106134Z", + "finishedAt": "2025-01-20T11:50:52.881009431Z" + }, + { + "uid": 19, + "batchUid": 18, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000481257S", + "enqueuedAt": "2025-01-20T11:48:04.618121963Z", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 18, + "batchUid": 18, + "indexUid": "mieli", + "status": "canceled", + "type": "documentAdditionOrUpdate", + "canceledBy": 19, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0 + }, + "error": null, + "duration": "PT0.000481257S", + "enqueuedAt": "2025-01-20T11:48:04.596815611Z", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 17, + "batchUid": 17, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000407005S", + "enqueuedAt": "2025-01-20T11:47:53.498618093Z", + "startedAt": "2025-01-20T11:47:53.509403957Z", + "finishedAt": "2025-01-20T11:47:53.509810962Z" + }, + { + "uid": 16, + "batchUid": 16, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000403716S", + "enqueuedAt": "2025-01-20T11:47:48.426597451Z", + "startedAt": "2025-01-20T11:47:48.430653005Z", + "finishedAt": "2025-01-20T11:47:48.431056721Z" + }, + { + "uid": 15, + "batchUid": 15, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing" + }, + "error": null, + "duration": "PT0.000417016S", + "enqueuedAt": "2025-01-20T11:47:42.414346511Z", + "startedAt": "2025-01-20T11:47:42.429678617Z", + "finishedAt": "2025-01-20T11:47:42.430095633Z" + }, + { + "uid": 14, + "batchUid": 14, + "indexUid": "mieli", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 19546 + }, + "error": null, + "duration": "PT12.086284842S", + "enqueuedAt": "2025-01-20T11:47:03.079292487Z", + "startedAt": "2025-01-20T11:47:03.092181576Z", + "finishedAt": "2025-01-20T11:47:15.178466418Z" + }, + { + "uid": 13, + "batchUid": 13, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "localizedAttributes": [ + { + "attributePatterns": [ + "description" + ], + "locales": [ + "fr" + ] + } + ] + }, + "error": null, + "duration": "PT0.011506614S", + "enqueuedAt": "2025-01-16T17:18:43.280901282Z", + "startedAt": "2025-01-16T17:18:43.29334923Z", + "finishedAt": "2025-01-16T17:18:43.304855844Z" + }, + { + "uid": 12, + "batchUid": 12, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "sortFacetValuesBy": { + "*": "alpha", + "age": "count" + } + } + }, + "error": null, + "duration": "PT0.007640163S", + "enqueuedAt": "2025-01-16T17:02:52.527382964Z", + "startedAt": "2025-01-16T17:02:52.539749853Z", + "finishedAt": "2025-01-16T17:02:52.547390016Z" + }, + { + "uid": 11, + "batchUid": 11, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "searchCutoffMs": 8000 + }, + "error": null, + "duration": "PT0.007307840S", + "enqueuedAt": "2025-01-16T17:01:14.100316617Z", + "startedAt": "2025-01-16T17:01:14.112756687Z", + "finishedAt": "2025-01-16T17:01:14.120064527Z" + }, + { + "uid": 10, + "batchUid": 10, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "error": null, + "duration": "PT0.007391353S", + "enqueuedAt": "2025-01-16T17:00:29.188815062Z", + "startedAt": "2025-01-16T17:00:29.201180268Z", + "finishedAt": "2025-01-16T17:00:29.208571621Z" + }, + { + "uid": 9, + "batchUid": 9, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 100 + }, + "pagination": { + "maxTotalHits": 1000 + } + }, + "error": null, + "duration": "PT0.007445825S", + "enqueuedAt": "2025-01-16T17:00:15.759501709Z", + "startedAt": "2025-01-16T17:00:15.77629445Z", + "finishedAt": "2025-01-16T17:00:15.783740275Z" + }, + { + "uid": 8, + "batchUid": 8, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + }, + "disableOnWords": [ + "kefir" + ], + "disableOnAttributes": [ + "surname" + ] + } + }, + "error": null, + "duration": "PT0.012020083S", + "enqueuedAt": "2025-01-16T16:59:42.727292501Z", + "startedAt": "2025-01-16T16:59:42.744086671Z", + "finishedAt": "2025-01-16T16:59:42.756106754Z" + }, + { + "uid": 7, + "batchUid": 7, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + } + } + }, + "error": null, + "duration": "PT0.007440092S", + "enqueuedAt": "2025-01-16T16:58:41.203145044Z", + "startedAt": "2025-01-16T16:58:41.2155771Z", + "finishedAt": "2025-01-16T16:58:41.223017192Z" + }, + { + "uid": 6, + "batchUid": 6, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "synonyms": { + "boubou": [ + "kefir" + ] + } + }, + "error": null, + "duration": "PT0.007565161S", + "enqueuedAt": "2025-01-16T16:54:51.927866243Z", + "startedAt": "2025-01-16T16:54:51.940332781Z", + "finishedAt": "2025-01-16T16:54:51.947897942Z" + }, + { + "uid": 5, + "batchUid": 5, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "stopWords": [ + "le", + "un" + ] + }, + "error": null, + "duration": "PT0.016307263S", + "enqueuedAt": "2025-01-16T16:53:19.900781991Z", + "startedAt": "2025-01-16T16:53:19.913351957Z", + "finishedAt": "2025-01-16T16:53:19.92965922Z" + }, + { + "uid": 4, + "batchUid": 4, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.087655941S", + "enqueuedAt": "2025-01-16T16:52:32.618659861Z", + "startedAt": "2025-01-16T16:52:32.631145531Z", + "finishedAt": "2025-01-16T16:52:32.718801472Z" + }, + { + "uid": 3, + "batchUid": 3, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "sortableAttributes": [ + "age" + ] + }, + "error": null, + "duration": "PT0.007593573S", + "enqueuedAt": "2025-01-16T16:47:53.665616298Z", + "startedAt": "2025-01-16T16:47:53.677901409Z", + "finishedAt": "2025-01-16T16:47:53.685494982Z" + }, + { + "uid": 2, + "batchUid": 2, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "filterableAttributes": [ + "age", + "surname" + ] + }, + "error": null, + "duration": "PT0.017769760S", + "enqueuedAt": "2025-01-16T16:47:41.194872913Z", + "startedAt": "2025-01-16T16:47:41.211587682Z", + "finishedAt": "2025-01-16T16:47:41.229357442Z" + } + ], + "total": 20, + "limit": 20, + "from": 21, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..2c5631a39 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,390 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 21, + "batchUid": 20, + "indexUid": null, + "status": "succeeded", + "type": "upgradeDatabase", + "canceledBy": null, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 20, + "batchUid": 19, + "indexUid": "mieli", + "status": "succeeded", + "type": "indexDeletion", + "canceledBy": null, + "details": { + "deletedDocuments": 19546 + }, + "error": null, + "duration": "PT0.006903297S", + "enqueuedAt": "2025-01-20T11:50:52.862223877Z", + "startedAt": "2025-01-20T11:50:52.874106134Z", + "finishedAt": "2025-01-20T11:50:52.881009431Z" + }, + { + "uid": 19, + "batchUid": 18, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000481257S", + "enqueuedAt": "2025-01-20T11:48:04.618121963Z", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 18, + "batchUid": 18, + "indexUid": "mieli", + "status": "canceled", + "type": "documentAdditionOrUpdate", + "canceledBy": 19, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0 + }, + "error": null, + "duration": "PT0.000481257S", + "enqueuedAt": "2025-01-20T11:48:04.596815611Z", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 17, + "batchUid": 17, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000407005S", + "enqueuedAt": "2025-01-20T11:47:53.498618093Z", + "startedAt": "2025-01-20T11:47:53.509403957Z", + "finishedAt": "2025-01-20T11:47:53.509810962Z" + }, + { + "uid": 16, + "batchUid": 16, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000403716S", + "enqueuedAt": "2025-01-20T11:47:48.426597451Z", + "startedAt": "2025-01-20T11:47:48.430653005Z", + "finishedAt": "2025-01-20T11:47:48.431056721Z" + }, + { + "uid": 15, + "batchUid": 15, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing" + }, + "error": null, + "duration": "PT0.000417016S", + "enqueuedAt": "2025-01-20T11:47:42.414346511Z", + "startedAt": "2025-01-20T11:47:42.429678617Z", + "finishedAt": "2025-01-20T11:47:42.430095633Z" + }, + { + "uid": 14, + "batchUid": 14, + "indexUid": "mieli", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 19546 + }, + "error": null, + "duration": "PT12.086284842S", + "enqueuedAt": "2025-01-20T11:47:03.079292487Z", + "startedAt": "2025-01-20T11:47:03.092181576Z", + "finishedAt": "2025-01-20T11:47:15.178466418Z" + }, + { + "uid": 13, + "batchUid": 13, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "localizedAttributes": [ + { + "attributePatterns": [ + "description" + ], + "locales": [ + "fr" + ] + } + ] + }, + "error": null, + "duration": "PT0.011506614S", + "enqueuedAt": "2025-01-16T17:18:43.280901282Z", + "startedAt": "2025-01-16T17:18:43.29334923Z", + "finishedAt": "2025-01-16T17:18:43.304855844Z" + }, + { + "uid": 12, + "batchUid": 12, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "sortFacetValuesBy": { + "*": "alpha", + "age": "count" + } + } + }, + "error": null, + "duration": "PT0.007640163S", + "enqueuedAt": "2025-01-16T17:02:52.527382964Z", + "startedAt": "2025-01-16T17:02:52.539749853Z", + "finishedAt": "2025-01-16T17:02:52.547390016Z" + }, + { + "uid": 11, + "batchUid": 11, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "searchCutoffMs": 8000 + }, + "error": null, + "duration": "PT0.007307840S", + "enqueuedAt": "2025-01-16T17:01:14.100316617Z", + "startedAt": "2025-01-16T17:01:14.112756687Z", + "finishedAt": "2025-01-16T17:01:14.120064527Z" + }, + { + "uid": 10, + "batchUid": 10, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "error": null, + "duration": "PT0.007391353S", + "enqueuedAt": "2025-01-16T17:00:29.188815062Z", + "startedAt": "2025-01-16T17:00:29.201180268Z", + "finishedAt": "2025-01-16T17:00:29.208571621Z" + }, + { + "uid": 9, + "batchUid": 9, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 100 + }, + "pagination": { + "maxTotalHits": 1000 + } + }, + "error": null, + "duration": "PT0.007445825S", + "enqueuedAt": "2025-01-16T17:00:15.759501709Z", + "startedAt": "2025-01-16T17:00:15.77629445Z", + "finishedAt": "2025-01-16T17:00:15.783740275Z" + }, + { + "uid": 8, + "batchUid": 8, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + }, + "disableOnWords": [ + "kefir" + ], + "disableOnAttributes": [ + "surname" + ] + } + }, + "error": null, + "duration": "PT0.012020083S", + "enqueuedAt": "2025-01-16T16:59:42.727292501Z", + "startedAt": "2025-01-16T16:59:42.744086671Z", + "finishedAt": "2025-01-16T16:59:42.756106754Z" + }, + { + "uid": 7, + "batchUid": 7, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + } + } + }, + "error": null, + "duration": "PT0.007440092S", + "enqueuedAt": "2025-01-16T16:58:41.203145044Z", + "startedAt": "2025-01-16T16:58:41.2155771Z", + "finishedAt": "2025-01-16T16:58:41.223017192Z" + }, + { + "uid": 6, + "batchUid": 6, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "synonyms": { + "boubou": [ + "kefir" + ] + } + }, + "error": null, + "duration": "PT0.007565161S", + "enqueuedAt": "2025-01-16T16:54:51.927866243Z", + "startedAt": "2025-01-16T16:54:51.940332781Z", + "finishedAt": "2025-01-16T16:54:51.947897942Z" + }, + { + "uid": 5, + "batchUid": 5, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "stopWords": [ + "le", + "un" + ] + }, + "error": null, + "duration": "PT0.016307263S", + "enqueuedAt": "2025-01-16T16:53:19.900781991Z", + "startedAt": "2025-01-16T16:53:19.913351957Z", + "finishedAt": "2025-01-16T16:53:19.92965922Z" + }, + { + "uid": 4, + "batchUid": 4, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.087655941S", + "enqueuedAt": "2025-01-16T16:52:32.618659861Z", + "startedAt": "2025-01-16T16:52:32.631145531Z", + "finishedAt": "2025-01-16T16:52:32.718801472Z" + }, + { + "uid": 3, + "batchUid": 3, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "sortableAttributes": [ + "age" + ] + }, + "error": null, + "duration": "PT0.007593573S", + "enqueuedAt": "2025-01-16T16:47:53.665616298Z", + "startedAt": "2025-01-16T16:47:53.677901409Z", + "finishedAt": "2025-01-16T16:47:53.685494982Z" + }, + { + "uid": 2, + "batchUid": 2, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "filterableAttributes": [ + "age", + "surname" + ] + }, + "error": null, + "duration": "PT0.017769760S", + "enqueuedAt": "2025-01-16T16:47:41.194872913Z", + "startedAt": "2025-01-16T16:47:41.211587682Z", + "finishedAt": "2025-01-16T16:47:41.229357442Z" + } + ], + "total": 20, + "limit": 20, + "from": 21, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..2c5631a39 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,390 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 21, + "batchUid": 20, + "indexUid": null, + "status": "succeeded", + "type": "upgradeDatabase", + "canceledBy": null, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 20, + "batchUid": 19, + "indexUid": "mieli", + "status": "succeeded", + "type": "indexDeletion", + "canceledBy": null, + "details": { + "deletedDocuments": 19546 + }, + "error": null, + "duration": "PT0.006903297S", + "enqueuedAt": "2025-01-20T11:50:52.862223877Z", + "startedAt": "2025-01-20T11:50:52.874106134Z", + "finishedAt": "2025-01-20T11:50:52.881009431Z" + }, + { + "uid": 19, + "batchUid": 18, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000481257S", + "enqueuedAt": "2025-01-20T11:48:04.618121963Z", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 18, + "batchUid": 18, + "indexUid": "mieli", + "status": "canceled", + "type": "documentAdditionOrUpdate", + "canceledBy": 19, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0 + }, + "error": null, + "duration": "PT0.000481257S", + "enqueuedAt": "2025-01-20T11:48:04.596815611Z", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 17, + "batchUid": 17, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000407005S", + "enqueuedAt": "2025-01-20T11:47:53.498618093Z", + "startedAt": "2025-01-20T11:47:53.509403957Z", + "finishedAt": "2025-01-20T11:47:53.509810962Z" + }, + { + "uid": 16, + "batchUid": 16, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000403716S", + "enqueuedAt": "2025-01-20T11:47:48.426597451Z", + "startedAt": "2025-01-20T11:47:48.430653005Z", + "finishedAt": "2025-01-20T11:47:48.431056721Z" + }, + { + "uid": 15, + "batchUid": 15, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing" + }, + "error": null, + "duration": "PT0.000417016S", + "enqueuedAt": "2025-01-20T11:47:42.414346511Z", + "startedAt": "2025-01-20T11:47:42.429678617Z", + "finishedAt": "2025-01-20T11:47:42.430095633Z" + }, + { + "uid": 14, + "batchUid": 14, + "indexUid": "mieli", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 19546 + }, + "error": null, + "duration": "PT12.086284842S", + "enqueuedAt": "2025-01-20T11:47:03.079292487Z", + "startedAt": "2025-01-20T11:47:03.092181576Z", + "finishedAt": "2025-01-20T11:47:15.178466418Z" + }, + { + "uid": 13, + "batchUid": 13, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "localizedAttributes": [ + { + "attributePatterns": [ + "description" + ], + "locales": [ + "fr" + ] + } + ] + }, + "error": null, + "duration": "PT0.011506614S", + "enqueuedAt": "2025-01-16T17:18:43.280901282Z", + "startedAt": "2025-01-16T17:18:43.29334923Z", + "finishedAt": "2025-01-16T17:18:43.304855844Z" + }, + { + "uid": 12, + "batchUid": 12, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "sortFacetValuesBy": { + "*": "alpha", + "age": "count" + } + } + }, + "error": null, + "duration": "PT0.007640163S", + "enqueuedAt": "2025-01-16T17:02:52.527382964Z", + "startedAt": "2025-01-16T17:02:52.539749853Z", + "finishedAt": "2025-01-16T17:02:52.547390016Z" + }, + { + "uid": 11, + "batchUid": 11, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "searchCutoffMs": 8000 + }, + "error": null, + "duration": "PT0.007307840S", + "enqueuedAt": "2025-01-16T17:01:14.100316617Z", + "startedAt": "2025-01-16T17:01:14.112756687Z", + "finishedAt": "2025-01-16T17:01:14.120064527Z" + }, + { + "uid": 10, + "batchUid": 10, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "error": null, + "duration": "PT0.007391353S", + "enqueuedAt": "2025-01-16T17:00:29.188815062Z", + "startedAt": "2025-01-16T17:00:29.201180268Z", + "finishedAt": "2025-01-16T17:00:29.208571621Z" + }, + { + "uid": 9, + "batchUid": 9, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 100 + }, + "pagination": { + "maxTotalHits": 1000 + } + }, + "error": null, + "duration": "PT0.007445825S", + "enqueuedAt": "2025-01-16T17:00:15.759501709Z", + "startedAt": "2025-01-16T17:00:15.77629445Z", + "finishedAt": "2025-01-16T17:00:15.783740275Z" + }, + { + "uid": 8, + "batchUid": 8, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + }, + "disableOnWords": [ + "kefir" + ], + "disableOnAttributes": [ + "surname" + ] + } + }, + "error": null, + "duration": "PT0.012020083S", + "enqueuedAt": "2025-01-16T16:59:42.727292501Z", + "startedAt": "2025-01-16T16:59:42.744086671Z", + "finishedAt": "2025-01-16T16:59:42.756106754Z" + }, + { + "uid": 7, + "batchUid": 7, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + } + } + }, + "error": null, + "duration": "PT0.007440092S", + "enqueuedAt": "2025-01-16T16:58:41.203145044Z", + "startedAt": "2025-01-16T16:58:41.2155771Z", + "finishedAt": "2025-01-16T16:58:41.223017192Z" + }, + { + "uid": 6, + "batchUid": 6, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "synonyms": { + "boubou": [ + "kefir" + ] + } + }, + "error": null, + "duration": "PT0.007565161S", + "enqueuedAt": "2025-01-16T16:54:51.927866243Z", + "startedAt": "2025-01-16T16:54:51.940332781Z", + "finishedAt": "2025-01-16T16:54:51.947897942Z" + }, + { + "uid": 5, + "batchUid": 5, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "stopWords": [ + "le", + "un" + ] + }, + "error": null, + "duration": "PT0.016307263S", + "enqueuedAt": "2025-01-16T16:53:19.900781991Z", + "startedAt": "2025-01-16T16:53:19.913351957Z", + "finishedAt": "2025-01-16T16:53:19.92965922Z" + }, + { + "uid": 4, + "batchUid": 4, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.087655941S", + "enqueuedAt": "2025-01-16T16:52:32.618659861Z", + "startedAt": "2025-01-16T16:52:32.631145531Z", + "finishedAt": "2025-01-16T16:52:32.718801472Z" + }, + { + "uid": 3, + "batchUid": 3, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "sortableAttributes": [ + "age" + ] + }, + "error": null, + "duration": "PT0.007593573S", + "enqueuedAt": "2025-01-16T16:47:53.665616298Z", + "startedAt": "2025-01-16T16:47:53.677901409Z", + "finishedAt": "2025-01-16T16:47:53.685494982Z" + }, + { + "uid": 2, + "batchUid": 2, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "filterableAttributes": [ + "age", + "surname" + ] + }, + "error": null, + "duration": "PT0.017769760S", + "enqueuedAt": "2025-01-16T16:47:41.194872913Z", + "startedAt": "2025-01-16T16:47:41.211587682Z", + "finishedAt": "2025-01-16T16:47:41.229357442Z" + } + ], + "total": 20, + "limit": 20, + "from": 21, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_batchUids_equal_10.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_batchUids_equal_10.snap new file mode 100644 index 000000000..9ca68d4f4 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_batchUids_equal_10.snap @@ -0,0 +1,33 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 10, + "batchUid": 10, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + } + ], + "total": 1, + "limit": 20, + "from": 10, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..8c71118a0 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,46 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 1, + "batchUid": 1, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 0, + "batchUid": 0, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.111055654S", + "enqueuedAt": "2025-01-16T16:45:16.003570092Z", + "startedAt": "2025-01-16T16:45:16.020248085Z", + "finishedAt": "2025-01-16T16:45:16.131303739Z" + } + ], + "total": 2, + "limit": 20, + "from": 1, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..8c71118a0 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,46 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 1, + "batchUid": 1, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 0, + "batchUid": 0, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.111055654S", + "enqueuedAt": "2025-01-16T16:45:16.003570092Z", + "startedAt": "2025-01-16T16:45:16.020248085Z", + "finishedAt": "2025-01-16T16:45:16.131303739Z" + } + ], + "total": 2, + "limit": 20, + "from": 1, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap new file mode 100644 index 000000000..8c71118a0 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap @@ -0,0 +1,46 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 1, + "batchUid": 1, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 0, + "batchUid": 0, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.111055654S", + "enqueuedAt": "2025-01-16T16:45:16.003570092Z", + "startedAt": "2025-01-16T16:45:16.020248085Z", + "finishedAt": "2025-01-16T16:45:16.131303739Z" + } + ], + "total": 2, + "limit": 20, + "from": 1, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_canceledBy_equal_19.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_canceledBy_equal_19.snap new file mode 100644 index 000000000..8e0249837 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_canceledBy_equal_19.snap @@ -0,0 +1,29 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 18, + "batchUid": 18, + "indexUid": "mieli", + "status": "canceled", + "type": "documentAdditionOrUpdate", + "canceledBy": 19, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0 + }, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + } + ], + "total": 1, + "limit": 20, + "from": 18, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_statuses_equal_canceled.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_statuses_equal_canceled.snap new file mode 100644 index 000000000..8e0249837 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_statuses_equal_canceled.snap @@ -0,0 +1,29 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 18, + "batchUid": 18, + "indexUid": "mieli", + "status": "canceled", + "type": "documentAdditionOrUpdate", + "canceledBy": 19, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0 + }, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + } + ], + "total": 1, + "limit": 20, + "from": 18, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_uids_equal_10.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_uids_equal_10.snap new file mode 100644 index 000000000..9ca68d4f4 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_uids_equal_10.snap @@ -0,0 +1,33 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 10, + "batchUid": 10, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + } + ], + "total": 1, + "limit": 20, + "from": 10, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_batch_queue_once_everything_has_been_processed.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_batch_queue_once_everything_has_been_processed.snap new file mode 100644 index 000000000..9cf02a441 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_batch_queue_once_everything_has_been_processed.snap @@ -0,0 +1,530 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 20, + "progress": null, + "details": {}, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "upgradeDatabase": 1 + }, + "indexUids": {} + }, + "duration": "[duration]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 19, + "progress": null, + "details": { + "deletedDocuments": 19546 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "indexDeletion": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.006903297S", + "startedAt": "2025-01-20T11:50:52.874106134Z", + "finishedAt": "2025-01-20T11:50:52.881009431Z" + }, + { + "uid": 18, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0, + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 2, + "status": { + "succeeded": 1, + "canceled": 1 + }, + "types": { + "documentAdditionOrUpdate": 1, + "taskCancelation": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.000481257S", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 17, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000407005S", + "startedAt": "2025-01-20T11:47:53.509403957Z", + "finishedAt": "2025-01-20T11:47:53.509810962Z" + }, + { + "uid": 16, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000403716S", + "startedAt": "2025-01-20T11:47:48.430653005Z", + "finishedAt": "2025-01-20T11:47:48.431056721Z" + }, + { + "uid": 15, + "progress": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing" + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "taskCancelation": 1 + }, + "indexUids": {} + }, + "duration": "PT0.000417016S", + "startedAt": "2025-01-20T11:47:42.429678617Z", + "finishedAt": "2025-01-20T11:47:42.430095633Z" + }, + { + "uid": 14, + "progress": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 19546 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT12.086284842S", + "startedAt": "2025-01-20T11:47:03.092181576Z", + "finishedAt": "2025-01-20T11:47:15.178466418Z" + }, + { + "uid": 13, + "progress": null, + "details": { + "localizedAttributes": [ + { + "attributePatterns": [ + "description" + ], + "locales": [ + "fr" + ] + } + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.011506614S", + "startedAt": "2025-01-16T17:18:43.29334923Z", + "finishedAt": "2025-01-16T17:18:43.304855844Z" + }, + { + "uid": 12, + "progress": null, + "details": { + "faceting": { + "sortFacetValuesBy": { + "*": "alpha", + "age": "count" + } + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007640163S", + "startedAt": "2025-01-16T17:02:52.539749853Z", + "finishedAt": "2025-01-16T17:02:52.547390016Z" + }, + { + "uid": 11, + "progress": null, + "details": { + "searchCutoffMs": 8000 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007307840S", + "startedAt": "2025-01-16T17:01:14.112756687Z", + "finishedAt": "2025-01-16T17:01:14.120064527Z" + }, + { + "uid": 10, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007391353S", + "startedAt": "2025-01-16T17:00:29.201180268Z", + "finishedAt": "2025-01-16T17:00:29.208571621Z" + }, + { + "uid": 9, + "progress": null, + "details": { + "faceting": { + "maxValuesPerFacet": 100 + }, + "pagination": { + "maxTotalHits": 1000 + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007445825S", + "startedAt": "2025-01-16T17:00:15.77629445Z", + "finishedAt": "2025-01-16T17:00:15.783740275Z" + }, + { + "uid": 8, + "progress": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + }, + "disableOnWords": [ + "kefir" + ], + "disableOnAttributes": [ + "surname" + ] + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.012020083S", + "startedAt": "2025-01-16T16:59:42.744086671Z", + "finishedAt": "2025-01-16T16:59:42.756106754Z" + }, + { + "uid": 7, + "progress": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + } + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007440092S", + "startedAt": "2025-01-16T16:58:41.2155771Z", + "finishedAt": "2025-01-16T16:58:41.223017192Z" + }, + { + "uid": 6, + "progress": null, + "details": { + "synonyms": { + "boubou": [ + "kefir" + ] + } + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007565161S", + "startedAt": "2025-01-16T16:54:51.940332781Z", + "finishedAt": "2025-01-16T16:54:51.947897942Z" + }, + { + "uid": 5, + "progress": null, + "details": { + "stopWords": [ + "le", + "un" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.016307263S", + "startedAt": "2025-01-16T16:53:19.913351957Z", + "finishedAt": "2025-01-16T16:53:19.92965922Z" + }, + { + "uid": 4, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.087655941S", + "startedAt": "2025-01-16T16:52:32.631145531Z", + "finishedAt": "2025-01-16T16:52:32.718801472Z" + }, + { + "uid": 3, + "progress": null, + "details": { + "sortableAttributes": [ + "age" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.007593573S", + "startedAt": "2025-01-16T16:47:53.677901409Z", + "finishedAt": "2025-01-16T16:47:53.685494982Z" + }, + { + "uid": 2, + "progress": null, + "details": { + "filterableAttributes": [ + "age", + "surname" + ] + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "settingsUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.017769760S", + "startedAt": "2025-01-16T16:47:41.211587682Z", + "finishedAt": "2025-01-16T16:47:41.229357442Z" + }, + { + "uid": 1, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.066095506S", + "startedAt": "2025-01-16T16:47:10.217299609Z", + "finishedAt": "2025-01-16T16:47:10.283395115Z" + }, + { + "uid": 0, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.111055654S", + "startedAt": "2025-01-16T16:45:16.020248085Z", + "finishedAt": "2025-01-16T16:45:16.131303739Z" + } + ], + "total": 21, + "limit": 1000, + "from": 20, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_task_queue_once_everything_has_been_processed.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_task_queue_once_everything_has_been_processed.snap new file mode 100644 index 000000000..b25755390 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_task_queue_once_everything_has_been_processed.snap @@ -0,0 +1,424 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "uid": 21, + "batchUid": 20, + "indexUid": null, + "status": "succeeded", + "type": "upgradeDatabase", + "canceledBy": null, + "error": null, + "duration": "[duration]", + "enqueuedAt": "[date]", + "startedAt": "[date]", + "finishedAt": "[date]" + }, + { + "uid": 20, + "batchUid": 19, + "indexUid": "mieli", + "status": "succeeded", + "type": "indexDeletion", + "canceledBy": null, + "details": { + "deletedDocuments": 19546 + }, + "error": null, + "duration": "PT0.006903297S", + "enqueuedAt": "2025-01-20T11:50:52.862223877Z", + "startedAt": "2025-01-20T11:50:52.874106134Z", + "finishedAt": "2025-01-20T11:50:52.881009431Z" + }, + { + "uid": 19, + "batchUid": 18, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 1, + "canceledTasks": 1, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000481257S", + "enqueuedAt": "2025-01-20T11:48:04.618121963Z", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 18, + "batchUid": 18, + "indexUid": "mieli", + "status": "canceled", + "type": "documentAdditionOrUpdate", + "canceledBy": 19, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 0 + }, + "error": null, + "duration": "PT0.000481257S", + "enqueuedAt": "2025-01-20T11:48:04.596815611Z", + "startedAt": "2025-01-20T11:48:04.92820416Z", + "finishedAt": "2025-01-20T11:48:04.928685417Z" + }, + { + "uid": 17, + "batchUid": 17, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000407005S", + "enqueuedAt": "2025-01-20T11:47:53.498618093Z", + "startedAt": "2025-01-20T11:47:53.509403957Z", + "finishedAt": "2025-01-20T11:47:53.509810962Z" + }, + { + "uid": 16, + "batchUid": 16, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing%2Cenqueued" + }, + "error": null, + "duration": "PT0.000403716S", + "enqueuedAt": "2025-01-20T11:47:48.426597451Z", + "startedAt": "2025-01-20T11:47:48.430653005Z", + "finishedAt": "2025-01-20T11:47:48.431056721Z" + }, + { + "uid": 15, + "batchUid": 15, + "indexUid": null, + "status": "succeeded", + "type": "taskCancelation", + "canceledBy": null, + "details": { + "matchedTasks": 0, + "canceledTasks": 0, + "originalFilter": "?statuses=processing" + }, + "error": null, + "duration": "PT0.000417016S", + "enqueuedAt": "2025-01-20T11:47:42.414346511Z", + "startedAt": "2025-01-20T11:47:42.429678617Z", + "finishedAt": "2025-01-20T11:47:42.430095633Z" + }, + { + "uid": 14, + "batchUid": 14, + "indexUid": "mieli", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 19547, + "indexedDocuments": 19546 + }, + "error": null, + "duration": "PT12.086284842S", + "enqueuedAt": "2025-01-20T11:47:03.079292487Z", + "startedAt": "2025-01-20T11:47:03.092181576Z", + "finishedAt": "2025-01-20T11:47:15.178466418Z" + }, + { + "uid": 13, + "batchUid": 13, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "localizedAttributes": [ + { + "attributePatterns": [ + "description" + ], + "locales": [ + "fr" + ] + } + ] + }, + "error": null, + "duration": "PT0.011506614S", + "enqueuedAt": "2025-01-16T17:18:43.280901282Z", + "startedAt": "2025-01-16T17:18:43.29334923Z", + "finishedAt": "2025-01-16T17:18:43.304855844Z" + }, + { + "uid": 12, + "batchUid": 12, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "sortFacetValuesBy": { + "*": "alpha", + "age": "count" + } + } + }, + "error": null, + "duration": "PT0.007640163S", + "enqueuedAt": "2025-01-16T17:02:52.527382964Z", + "startedAt": "2025-01-16T17:02:52.539749853Z", + "finishedAt": "2025-01-16T17:02:52.547390016Z" + }, + { + "uid": 11, + "batchUid": 11, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "searchCutoffMs": 8000 + }, + "error": null, + "duration": "PT0.007307840S", + "enqueuedAt": "2025-01-16T17:01:14.100316617Z", + "startedAt": "2025-01-16T17:01:14.112756687Z", + "finishedAt": "2025-01-16T17:01:14.120064527Z" + }, + { + "uid": 10, + "batchUid": 10, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 99 + }, + "pagination": { + "maxTotalHits": 15 + } + }, + "error": null, + "duration": "PT0.007391353S", + "enqueuedAt": "2025-01-16T17:00:29.188815062Z", + "startedAt": "2025-01-16T17:00:29.201180268Z", + "finishedAt": "2025-01-16T17:00:29.208571621Z" + }, + { + "uid": 9, + "batchUid": 9, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "faceting": { + "maxValuesPerFacet": 100 + }, + "pagination": { + "maxTotalHits": 1000 + } + }, + "error": null, + "duration": "PT0.007445825S", + "enqueuedAt": "2025-01-16T17:00:15.759501709Z", + "startedAt": "2025-01-16T17:00:15.77629445Z", + "finishedAt": "2025-01-16T17:00:15.783740275Z" + }, + { + "uid": 8, + "batchUid": 8, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + }, + "disableOnWords": [ + "kefir" + ], + "disableOnAttributes": [ + "surname" + ] + } + }, + "error": null, + "duration": "PT0.012020083S", + "enqueuedAt": "2025-01-16T16:59:42.727292501Z", + "startedAt": "2025-01-16T16:59:42.744086671Z", + "finishedAt": "2025-01-16T16:59:42.756106754Z" + }, + { + "uid": 7, + "batchUid": 7, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "typoTolerance": { + "minWordSizeForTypos": { + "oneTypo": 4 + } + } + }, + "error": null, + "duration": "PT0.007440092S", + "enqueuedAt": "2025-01-16T16:58:41.203145044Z", + "startedAt": "2025-01-16T16:58:41.2155771Z", + "finishedAt": "2025-01-16T16:58:41.223017192Z" + }, + { + "uid": 6, + "batchUid": 6, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "synonyms": { + "boubou": [ + "kefir" + ] + } + }, + "error": null, + "duration": "PT0.007565161S", + "enqueuedAt": "2025-01-16T16:54:51.927866243Z", + "startedAt": "2025-01-16T16:54:51.940332781Z", + "finishedAt": "2025-01-16T16:54:51.947897942Z" + }, + { + "uid": 5, + "batchUid": 5, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "stopWords": [ + "le", + "un" + ] + }, + "error": null, + "duration": "PT0.016307263S", + "enqueuedAt": "2025-01-16T16:53:19.900781991Z", + "startedAt": "2025-01-16T16:53:19.913351957Z", + "finishedAt": "2025-01-16T16:53:19.92965922Z" + }, + { + "uid": 4, + "batchUid": 4, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.087655941S", + "enqueuedAt": "2025-01-16T16:52:32.618659861Z", + "startedAt": "2025-01-16T16:52:32.631145531Z", + "finishedAt": "2025-01-16T16:52:32.718801472Z" + }, + { + "uid": 3, + "batchUid": 3, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "sortableAttributes": [ + "age" + ] + }, + "error": null, + "duration": "PT0.007593573S", + "enqueuedAt": "2025-01-16T16:47:53.665616298Z", + "startedAt": "2025-01-16T16:47:53.677901409Z", + "finishedAt": "2025-01-16T16:47:53.685494982Z" + }, + { + "uid": 2, + "batchUid": 2, + "indexUid": "kefir", + "status": "succeeded", + "type": "settingsUpdate", + "canceledBy": null, + "details": { + "filterableAttributes": [ + "age", + "surname" + ] + }, + "error": null, + "duration": "PT0.017769760S", + "enqueuedAt": "2025-01-16T16:47:41.194872913Z", + "startedAt": "2025-01-16T16:47:41.211587682Z", + "finishedAt": "2025-01-16T16:47:41.229357442Z" + }, + { + "uid": 1, + "batchUid": 1, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.066095506S", + "enqueuedAt": "2025-01-16T16:47:10.200537203Z", + "startedAt": "2025-01-16T16:47:10.217299609Z", + "finishedAt": "2025-01-16T16:47:10.283395115Z" + }, + { + "uid": 0, + "batchUid": 0, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.111055654S", + "enqueuedAt": "2025-01-16T16:45:16.003570092Z", + "startedAt": "2025-01-16T16:45:16.020248085Z", + "finishedAt": "2025-01-16T16:45:16.131303739Z" + } + ], + "total": 22, + "limit": 1000, + "from": 21, + "next": null +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_keys/list_all_keys.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_keys/list_all_keys.snap new file mode 100644 index 000000000..de7e5ffed --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_keys/list_all_keys.snap @@ -0,0 +1,42 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "name": "Kefir", + "description": "My little kefirino key", + "key": "760c6345918b5ab1d251c1a3e8f9666547628a710d91f6b1d558ba944ef15746", + "uid": "9a77a636-e4e2-4f1a-93ac-978c368fd596", + "actions": [ + "stats.get", + "documents.*" + ], + "indexes": [ + "kefir" + ], + "expiresAt": null, + "createdAt": "2025-01-16T14:43:20.863318893Z", + "updatedAt": "[date]" + }, + { + "name": "Default Search API Key", + "description": "Use it to search from the frontend", + "key": "4d9376547ed779a05dde416148e7e98bd47530e28c500be674c9e60b2accb814", + "uid": "dc699ff0-a053-4956-a46a-912e51b3316b", + "actions": [ + "search" + ], + "indexes": [ + "*" + ], + "expiresAt": null, + "createdAt": "2025-01-16T14:24:46.264041777Z", + "updatedAt": "[date]" + } + ], + "offset": 0, + "limit": 20, + "total": 2 +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_keys/list_all_keys_after_removing_kefir.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_keys/list_all_keys_after_removing_kefir.snap new file mode 100644 index 000000000..bdc0d9b0a --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_keys/list_all_keys_after_removing_kefir.snap @@ -0,0 +1,26 @@ +--- +source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +snapshot_kind: text +--- +{ + "results": [ + { + "name": "kefir", + "description": "the patou", + "key": "4d9376547ed779a05dde416148e7e98bd47530e28c500be674c9e60b2accb814", + "uid": "dc699ff0-a053-4956-a46a-912e51b3316b", + "actions": [ + "search" + ], + "indexes": [ + "*" + ], + "expiresAt": null, + "createdAt": "2025-01-16T14:24:46.264041777Z", + "updatedAt": "[date]" + } + ], + "offset": 0, + "limit": 20, + "total": 1 +} diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/VERSION b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/VERSION new file mode 100644 index 000000000..32bd932f3 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/VERSION @@ -0,0 +1 @@ +1.12.0 \ No newline at end of file diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/data.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/data.mdb new file mode 100644 index 0000000000000000000000000000000000000000..421b40a8c351e0bc3c075a62806fd8c07254d5eb GIT binary patch literal 57344 zcmeI*&2JQC90%}+zCeL_DYc@a=rCT4>1<~9Wp=j*QX&@ws|4u*5i{MHrPFR_o84)o zSWa9>V#omg_k+A3|q>nTrjiabiS5y!&E~BDRt8vs^KY3nH z)A@J-0SG_<0uX=z1Rwwb2tWV=5P(2C1RCw~_O$W!nQ0&Dko$MspiL2uLf zcmV+jKmY;|fB*y_009U<00IzzKsy9jJDiX%GDs%n2lAxcj_cwY5P$##AOHafKmY;| zfB*y_0D;y7M#GeGKl!=$(b@9(5AR$ZkXQN_hOU04+D^Sxb7y?F>Z!x(*}9{+zEZB% z6w90QCtUBM;!jw<;?@MNE~cdS}zLaEL;H7htNrF>w`1_wu!T^taf2`j=c!lE!QTo6VCRp=3(u+D|;aN%4CKmY;|fB*y_009U< zV2c9L|MCxzKiwby`RUAwv0IZjQm5}3Q@gy`N`)ZWIT}Ko6<_@Fw)uGV<3r!x`TlG3 zn?JrwX2n06Q!1|SR~%)^DZ4e-tI~rYRUK!tPX_OK5v;BQ**LTTFaIVODkq* z`ns4elrm+0}lYTdW|dg`L%)3@zvX?EK2=vsf&bbh7)5_3EO7+xsh75e=rt2E^@Q)x4+XN`P5zlqgzwXdvoB+#)5hsZfP{{IJg zUOp$U%15P#vPxU_7lZ}zsdP%dEicoy|7EF1sL&pORr$U&D&CZq#Gp^$8to~Vlt%~jF$)1|Quu~-XxNKCT zched@o7U(~)Yz!+ud!ZVF#rF${JVS|^Z(oPrHiXT00Izz00bZa0SG_<0uX>eO9ESO z|9A5I|Mxx&p!5I7$dmm8;)?K$uI3l4_J{fZFZZ_2+(ZCzc z0cO$Ue0a?NU%&6%_U8YuUuQAtJiuK$U>`U7Iyd?XH!5?Zhq%!86Uvj+wR2tWV=5P$##AOL}m6JQzsBZ4aQVE@04`}YAi3;_s000Izz00bbgvjkde|MPnX z5M4ip9~#g&F?MV6M(XrEW2(6yt&=_*jm7@3|KHB~&d1Y000Izz00bZa0SG_<0uX?} n|0B@a`u}X4KO5iAN;XfQt=Gra?PvSb+(xi-9(!8{5M02C#7T4nM^J(Zgj5djuK9PlOY_d--kY)S+Ul!1 zW{AAsviGw6dsqGo^AjuWmTA3)IZcuP0RjXF5FkK+009C72oNAZfB*pk1PBlyK!5-N L0t5&U_#^NF2EGs= literal 0 HcmV?d00001 diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/data.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/data.mdb new file mode 100644 index 0000000000000000000000000000000000000000..598dc17a667ee4ad7a0e1f811649db69d3c5cced GIT binary patch literal 155648 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 P5FkK+009C72qeiHlFg6? literal 0 HcmV?d00001 diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/instance-uid b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/instance-uid new file mode 100644 index 000000000..1584db263 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/instance-uid @@ -0,0 +1 @@ +34ebe3d9-306d-4ead-885d-65d33b4bd60a \ No newline at end of file diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/data.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/data.mdb new file mode 100644 index 0000000000000000000000000000000000000000..49dbe67359bbfcb7daa4fdc6b998de5944c08509 GIT binary patch literal 208896 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 "[date]" }), name: "list_all_keys"); + + // We can still query the keys + let (by_uid, _) = server.get_api_key("9a77a636-e4e2-4f1a-93ac-978c368fd596").await; + let (by_key, _) = server + .get_api_key("760c6345918b5ab1d251c1a3e8f9666547628a710d91f6b1d558ba944ef15746") + .await; + + assert_eq!(by_uid, by_key); + snapshot!(json_string!(by_uid, { ".updatedAt" => "[date]" }), @r#" + { + "name": "Kefir", + "description": "My little kefirino key", + "key": "760c6345918b5ab1d251c1a3e8f9666547628a710d91f6b1d558ba944ef15746", + "uid": "9a77a636-e4e2-4f1a-93ac-978c368fd596", + "actions": [ + "stats.get", + "documents.*" + ], + "indexes": [ + "kefir" + ], + "expiresAt": null, + "createdAt": "2025-01-16T14:43:20.863318893Z", + "updatedAt": "[date]" + } + "#); + + // Remove a key + let (_value, status) = server.delete_api_key("9a77a636-e4e2-4f1a-93ac-978c368fd596").await; + snapshot!(status, @"204 No Content"); + + // Update a key + let (value, _) = server + .patch_api_key( + "dc699ff0-a053-4956-a46a-912e51b3316b", + json!({ "name": "kefir", "description": "the patou" }), + ) + .await; + snapshot!(json_string!(value, { ".updatedAt" => "[date]" }), @r#" + { + "name": "kefir", + "description": "the patou", + "key": "4d9376547ed779a05dde416148e7e98bd47530e28c500be674c9e60b2accb814", + "uid": "dc699ff0-a053-4956-a46a-912e51b3316b", + "actions": [ + "search" + ], + "indexes": [ + "*" + ], + "expiresAt": null, + "createdAt": "2025-01-16T14:24:46.264041777Z", + "updatedAt": "[date]" + } + "#); + + // Everything worked + let (keys, _) = server.list_api_keys("").await; + snapshot!(json_string!(keys, { ".results[].updatedAt" => "[date]" }), name: "list_all_keys_after_removing_kefir"); +} + +/// We must ensure the index-scheduler database is still working: +/// 1. We can query the indexes and their metadata +/// 2. The upgrade task has been spawned and has been processed (wait for it to finish or it'll be flaky) +/// 3. Snapshot the whole queue, the tasks and batches should always be the same after update +/// 4. Query the batches and tasks on all filters => the databases should still works +/// 5. Ensure we can still update the queue +/// 5.1. Delete tasks until a batch is removed +/// 5.2. Enqueue a new task +/// 5.3. Create an index +async fn check_the_index_scheduler(server: &Server) { + // All the indexes are still present + let (indexes, _) = server.list_indexes(None, None).await; + snapshot!(indexes, @r#" + { + "results": [ + { + "uid": "kefir", + "createdAt": "2025-01-16T16:45:16.020663157Z", + "updatedAt": "2025-01-16T17:18:43.296777845Z", + "primaryKey": null + } + ], + "offset": 0, + "limit": 20, + "total": 1 + } + "#); + // And their metadata are still right + let (stats, _) = server.stats().await; + snapshot!(stats, @r#" + { + "databaseSize": 425984, + "lastUpdate": "2025-01-16T17:18:43.296777845Z", + "indexes": { + "kefir": { + "numberOfDocuments": 1, + "isIndexing": false, + "fieldDistribution": { + "age": 1, + "description": 1, + "id": 1, + "name": 1, + "surname": 1 + } + } + } + } + "#); + + // Wait until the upgrade has been applied to all indexes to avoid flakyness + let (tasks, _) = server.tasks_filter("types=upgradeDatabase&limit=1").await; + server.wait_task(Value(tasks["results"][0].clone()).uid()).await.succeeded(); + + // Tasks and batches should still work + // We rewrite the first task for all calls because it may be the upgrade database with unknown dates and duration. + // The other tasks should NOT change + let (tasks, _) = server.tasks_filter("limit=1000").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "the_whole_task_queue_once_everything_has_been_processed"); + let (batches, _) = server.batches_filter("limit=1000").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "the_whole_batch_queue_once_everything_has_been_processed"); + + // Tests all the tasks query parameters + let (tasks, _) = server.tasks_filter("uids=10").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_uids_equal_10"); + let (tasks, _) = server.tasks_filter("batchUids=10").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_batchUids_equal_10"); + let (tasks, _) = server.tasks_filter("statuses=canceled").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_statuses_equal_canceled"); + // types has already been tested above to retrieve the upgrade database + let (tasks, _) = server.tasks_filter("canceledBy=19").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_canceledBy_equal_19"); + let (tasks, _) = server.tasks_filter("beforeEnqueuedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41"); + let (tasks, _) = server.tasks_filter("afterEnqueuedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41"); + let (tasks, _) = server.tasks_filter("beforeStartedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41"); + let (tasks, _) = server.tasks_filter("afterStartedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41"); + let (tasks, _) = server.tasks_filter("beforeFinishedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41"); + let (tasks, _) = server.tasks_filter("afterFinishedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41"); + + // Tests all the batches query parameters + let (batches, _) = server.batches_filter("uids=10").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_uids_equal_10"); + let (batches, _) = server.batches_filter("batchUids=10").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_batchUids_equal_10"); + let (batches, _) = server.batches_filter("statuses=canceled").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_statuses_equal_canceled"); + // types has already been tested above to retrieve the upgrade database + let (batches, _) = server.batches_filter("canceledBy=19").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_canceledBy_equal_19"); + let (batches, _) = server.batches_filter("beforeEnqueuedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41"); + let (batches, _) = server.batches_filter("afterEnqueuedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41"); + let (batches, _) = server.batches_filter("beforeStartedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41"); + let (batches, _) = server.batches_filter("afterStartedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterStartedAt_equal_2025-01-16T16:47:41"); + let (batches, _) = server.batches_filter("beforeFinishedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41"); + let (batches, _) = server.batches_filter("afterFinishedAt=2025-01-16T16:47:41Z").await; + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41"); + + // Delete all the tasks of a specific batch + let (task, _) = server.delete_tasks("batchUids=10").await; + server.wait_task(task.uid()).await.succeeded(); + + let (tasks, _) = server.tasks_filter("batchUids=10").await; + snapshot!(tasks, name: "task_by_batchUids_after_deletion"); + let (tasks, _) = server.batches_filter("batchUids=10").await; + snapshot!(tasks, name: "batch_by_batchUids_after_deletion"); + + let index = server.index("kefirausaurus"); + let (task, _) = index.create(Some("kefid")).await; + server.wait_task(task.uid()).await.succeeded(); + + let (stats, _) = index.stats().await; + snapshot!(stats, @r#" + { + "numberOfDocuments": 0, + "isIndexing": false, + "fieldDistribution": {} + } + "#); +} + +/// Ensuring the index roughly works with filter and sort. +/// More specific test will be made for the next versions everytime they updates a feature +async fn check_the_index_features(server: &Server) { + let kefir = server.index("kefir"); + + let (settings, _) = kefir.settings().await; + snapshot!(settings, name: "kefir_settings"); + + let (results, _status) = + kefir.search_post(json!({ "sort": ["age:asc"], "filter": "surname = kefirounet" })).await; + snapshot!(results, name: "search_with_sort_and_filter"); +} diff --git a/crates/milli/src/update/upgrade/mod.rs b/crates/milli/src/update/upgrade/mod.rs index e06f3657e..6b6e551a3 100644 --- a/crates/milli/src/update/upgrade/mod.rs +++ b/crates/milli/src/update/upgrade/mod.rs @@ -8,8 +8,10 @@ pub fn upgrade(index: &Index, progress: Progress) -> Result<()> { [(v1_12_to_v1_13 as fn(&Index, Progress) -> Result<()>, "Upgrading from v1.12 to v1.13")]; let start = match from { - // If there was no version it means we're coming from the base version specified by the index-scheduler + // If there was no version it means we're coming from the v1.12 None | Some((1, 12, _)) => 0, + // We must handle the current version in the match because in case of a failure some index may have been upgraded but not other. + Some((1, 13, _)) => return Ok(()), Some((major, minor, patch)) => { return Err(InternalError::CannotUpgradeToVersion(major, minor, patch).into()) } From cfc1e193b6ad2c4ff7cffdde27bbda30af463c14 Mon Sep 17 00:00:00 2001 From: Tamo Date: Mon, 20 Jan 2025 15:15:45 +0100 Subject: [PATCH 06/36] update the test with the stats --- .../src/scheduler/process_upgrade/mod.rs | 12 ++++- .../upgrade/v1_12/v1_12_0.ms/auth/lock.mdb | Bin 8192 -> 8192 bytes .../upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb | Bin 8192 -> 8192 bytes .../tests/upgrade/v1_12/v1_12_0.rs | 45 ++++++++++++++---- crates/milli/src/update/upgrade/mod.rs | 16 ++++--- 5 files changed, 56 insertions(+), 17 deletions(-) diff --git a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs index f3038d343..1471723ef 100644 --- a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs +++ b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs @@ -19,8 +19,18 @@ impl IndexScheduler { indexes.len() as u32, )); let index = self.index(uid)?; - milli::update::upgrade::upgrade(&index, progress.clone()) + let mut wtxn = index.write_txn()?; + let regenerate = milli::update::upgrade::upgrade(&mut wtxn, &index, progress.clone()) .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; + if regenerate { + let stats = crate::index_mapper::IndexStats::new(&index, &wtxn) + .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; + // Release wtxn as soon as possible because it stops us from registering tasks + let mut index_schd_wtxn = self.env.write_txn()?; + self.index_mapper.store_stats_of(&mut index_schd_wtxn, uid, &stats)?; + index_schd_wtxn.commit()?; + } + wtxn.commit()?; } Ok(()) diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/lock.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/lock.mdb index 987a95d1bc69c5786a55929782921ddbf1de04e9..9154fcee23c0f8e6e815de8fce3f313de6ae1433 100644 GIT binary patch delta 20 bcmZp0XmFS?f$czBut!|w#)a|n6BD=rSjh-0 delta 20 bcmZp0XmFS?fvq9C`Mz1n#)a|n6BD=rTB`_Z diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb index 13319457beb92c94ef07cb823aec8b6c0577342c..2fcbf7530a8cdca920fa033fd01171dcf5bc8b70 100644 GIT binary patch delta 19 acmZp0XmFS?k+m(@Bd&5{pw`9%4)Op?LkD{R delta 19 bcmZp0XmFS?kyUN}T(gpifm$06ILHG4OUVb1 diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs index e47926262..fd2d363f2 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +++ b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs @@ -206,6 +206,42 @@ async fn check_the_index_scheduler(server: &Server) { let (batches, _) = server.batches_filter("afterFinishedAt=2025-01-16T16:47:41Z").await; snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41"); + let (stats, _) = server.stats().await; + snapshot!(stats, @r#" + { + "databaseSize": 425984, + "lastUpdate": "2025-01-16T17:18:43.296777845Z", + "indexes": { + "kefir": { + "numberOfDocuments": 1, + "isIndexing": false, + "fieldDistribution": { + "age": 1, + "description": 1, + "id": 1, + "name": 1, + "surname": 1 + } + } + } + } + "#); + let index = server.index("kefir"); + let (stats, _) = index.stats().await; + snapshot!(stats, @r#" + { + "numberOfDocuments": 1, + "isIndexing": false, + "fieldDistribution": { + "age": 1, + "description": 1, + "id": 1, + "name": 1, + "surname": 1 + } + } + "#); + // Delete all the tasks of a specific batch let (task, _) = server.delete_tasks("batchUids=10").await; server.wait_task(task.uid()).await.succeeded(); @@ -218,15 +254,6 @@ async fn check_the_index_scheduler(server: &Server) { let index = server.index("kefirausaurus"); let (task, _) = index.create(Some("kefid")).await; server.wait_task(task.uid()).await.succeeded(); - - let (stats, _) = index.stats().await; - snapshot!(stats, @r#" - { - "numberOfDocuments": 0, - "isIndexing": false, - "fieldDistribution": {} - } - "#); } /// Ensuring the index roughly works with filter and sort. diff --git a/crates/milli/src/update/upgrade/mod.rs b/crates/milli/src/update/upgrade/mod.rs index 6b6e551a3..6e533177a 100644 --- a/crates/milli/src/update/upgrade/mod.rs +++ b/crates/milli/src/update/upgrade/mod.rs @@ -1,17 +1,19 @@ +use heed::RwTxn; + use crate::progress::{Progress, VariableNameStep}; use crate::{Index, InternalError, Result}; -pub fn upgrade(index: &Index, progress: Progress) -> Result<()> { - let wtxn = index.env.write_txn()?; - let from = index.get_version(&wtxn)?; +/// Return true if the cached stats of the index must be regenerated +pub fn upgrade(wtxn: &mut RwTxn, index: &Index, progress: Progress) -> Result { + let from = index.get_version(wtxn)?; let upgrade_functions = [(v1_12_to_v1_13 as fn(&Index, Progress) -> Result<()>, "Upgrading from v1.12 to v1.13")]; - let start = match from { + let (start, regenerate_stats) = match from { // If there was no version it means we're coming from the v1.12 - None | Some((1, 12, _)) => 0, + None | Some((1, 12, _)) => (0, false), // We must handle the current version in the match because in case of a failure some index may have been upgraded but not other. - Some((1, 13, _)) => return Ok(()), + Some((1, 13, _)) => return Ok(false), Some((major, minor, patch)) => { return Err(InternalError::CannotUpgradeToVersion(major, minor, patch).into()) } @@ -29,7 +31,7 @@ pub fn upgrade(index: &Index, progress: Progress) -> Result<()> { (upgrade_function)(index, progress.clone())?; } - Ok(()) + Ok(regenerate_stats) } fn v1_12_to_v1_13(_index: &Index, _progress: Progress) -> Result<()> { From 20ac59c94636276f92243c539487b41276da46b7 Mon Sep 17 00:00:00 2001 From: Tamo Date: Mon, 20 Jan 2025 15:54:43 +0100 Subject: [PATCH 07/36] fix the field distribution when upgrading from the v1_12 --- Cargo.lock | 1 + crates/milli/Cargo.toml | 1 + crates/milli/src/progress.rs | 14 ++++++++---- crates/milli/src/update/upgrade/mod.rs | 27 ++++++++++++++-------- crates/milli/src/update/upgrade/v1_12.rs | 29 ++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 13 deletions(-) create mode 100644 crates/milli/src/update/upgrade/v1_12.rs diff --git a/Cargo.lock b/Cargo.lock index e251776c3..6a42ffa26 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3776,6 +3776,7 @@ dependencies = [ "candle-transformers", "charabia", "concat-arrays", + "convert_case 0.6.0", "crossbeam-channel", "csv", "deserr", diff --git a/crates/milli/Cargo.toml b/crates/milli/Cargo.toml index d22829045..5eb89ea53 100644 --- a/crates/milli/Cargo.toml +++ b/crates/milli/Cargo.toml @@ -20,6 +20,7 @@ bytemuck = { version = "1.21.0", features = ["extern_crate_alloc"] } byteorder = "1.5.0" charabia = { version = "0.9.2", default-features = false } concat-arrays = "0.1.2" +convert_case = "0.6.0" crossbeam-channel = "0.5.14" deserr = "0.6.3" either = { version = "1.13.0", features = ["serde"] } diff --git a/crates/milli/src/progress.rs b/crates/milli/src/progress.rs index 870277bad..3837e173a 100644 --- a/crates/milli/src/progress.rs +++ b/crates/milli/src/progress.rs @@ -89,19 +89,24 @@ impl Step for AtomicSubStep { } } +#[doc(hidden)] +pub use convert_case as _private_convert_case; +#[doc(hidden)] +pub use enum_iterator as _private_enum_iterator; + #[macro_export] macro_rules! make_enum_progress { ($visibility:vis enum $name:ident { $($variant:ident,)+ }) => { #[repr(u8)] - #[derive(Debug, Clone, Copy, PartialEq, Eq, Sequence)] + #[derive(Debug, Clone, Copy, PartialEq, Eq, $crate::progress::_private_enum_iterator::Sequence)] #[allow(clippy::enum_variant_names)] $visibility enum $name { $($variant),+ } - impl Step for $name { - fn name(&self) -> Cow<'static, str> { - use convert_case::Casing; + impl $crate::progress::Step for $name { + fn name(&self) -> std::borrow::Cow<'static, str> { + use $crate::progress::_private_convert_case::Casing; match self { $( @@ -115,6 +120,7 @@ macro_rules! make_enum_progress { } fn total(&self) -> u32 { + use $crate::progress::_private_enum_iterator::Sequence; Self::CARDINALITY as u32 } } diff --git a/crates/milli/src/update/upgrade/mod.rs b/crates/milli/src/update/upgrade/mod.rs index 6e533177a..4be55e942 100644 --- a/crates/milli/src/update/upgrade/mod.rs +++ b/crates/milli/src/update/upgrade/mod.rs @@ -1,4 +1,7 @@ +mod v1_12; + use heed::RwTxn; +use v1_12::{v1_12_3_to_v1_13, v1_12_to_v1_12_3}; use crate::progress::{Progress, VariableNameStep}; use crate::{Index, InternalError, Result}; @@ -6,12 +9,21 @@ use crate::{Index, InternalError, Result}; /// Return true if the cached stats of the index must be regenerated pub fn upgrade(wtxn: &mut RwTxn, index: &Index, progress: Progress) -> Result { let from = index.get_version(wtxn)?; - let upgrade_functions = - [(v1_12_to_v1_13 as fn(&Index, Progress) -> Result<()>, "Upgrading from v1.12 to v1.13")]; + let upgrade_functions = [ + ( + v1_12_to_v1_12_3 as fn(&mut RwTxn, &Index, Progress) -> Result, + "Upgrading from v1.12.(0/1/2) to v1.12.3", + ), + ( + v1_12_3_to_v1_13 as fn(&mut RwTxn, &Index, Progress) -> Result, + "Upgrading from v1.12.3+ to v1.13", + ), + ]; - let (start, regenerate_stats) = match from { + let start = match from { // If there was no version it means we're coming from the v1.12 - None | Some((1, 12, _)) => (0, false), + None | Some((1, 12, 0..=2)) => 0, + Some((1, 12, 3..)) => 1, // We must handle the current version in the match because in case of a failure some index may have been upgraded but not other. Some((1, 13, _)) => return Ok(false), Some((major, minor, patch)) => { @@ -22,18 +34,15 @@ pub fn upgrade(wtxn: &mut RwTxn, index: &Index, progress: Progress) -> Result::new( upgrade_msg.to_string(), i as u32, upgrade_path.len() as u32, )); - (upgrade_function)(index, progress.clone())?; + regenerate_stats |= (upgrade_function)(wtxn, index, progress.clone())?; } Ok(regenerate_stats) } - -fn v1_12_to_v1_13(_index: &Index, _progress: Progress) -> Result<()> { - Ok(()) -} diff --git a/crates/milli/src/update/upgrade/v1_12.rs b/crates/milli/src/update/upgrade/v1_12.rs new file mode 100644 index 000000000..4f76752d1 --- /dev/null +++ b/crates/milli/src/update/upgrade/v1_12.rs @@ -0,0 +1,29 @@ +use heed::RwTxn; + +use crate::{make_enum_progress, Result}; + +use crate::{progress::Progress, Index}; + +// The field distribution was not computed correctly in the v1.12 until the v1.12.3 +pub(super) fn v1_12_to_v1_12_3( + wtxn: &mut RwTxn, + index: &Index, + progress: Progress, +) -> Result { + make_enum_progress! { + enum FieldDistribution { + RebuildingFieldDistribution, + } + }; + progress.update_progress(FieldDistribution::RebuildingFieldDistribution); + crate::update::new::reindex::field_distribution(index, wtxn, &progress)?; + Ok(true) +} + +pub(super) fn v1_12_3_to_v1_13( + _wtxn: &mut RwTxn, + _index: &Index, + _progress: Progress, +) -> Result { + Ok(false) +} From 5458850d21a4164f7ad063bcf6a116e84b7f9604 Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 21 Jan 2025 15:00:48 +0100 Subject: [PATCH 08/36] write a test ensuring the index-scheduler is effectively down when the upgrade task fail and try to process it when it restarts. There is a bug when deleting this task --- crates/index-scheduler/src/queue/tasks.rs | 26 +++- .../src/scheduler/create_batch.rs | 3 +- .../src/scheduler/process_batch.rs | 2 + .../src/scheduler/process_upgrade/mod.rs | 7 +- .../after_processing_everything.snap | 118 ++++++++++++++++++ .../registered_a_task_and_upgrade_task.snap | 55 ++++++++ .../upgrade_failure/upgrade_task_failed.snap | 65 ++++++++++ .../upgrade_task_failed_again.snap | 72 +++++++++++ .../upgrade_task_succeeded.snap | 80 ++++++++++++ .../src/scheduler/test_failure.rs | 67 ++++++++++ crates/index-scheduler/src/test_utils.rs | 72 +++++++++-- 11 files changed, 550 insertions(+), 17 deletions(-) create mode 100644 crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap create mode 100644 crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap create mode 100644 crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap create mode 100644 crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap create mode 100644 crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap diff --git a/crates/index-scheduler/src/queue/tasks.rs b/crates/index-scheduler/src/queue/tasks.rs index 9bd63c595..00e745e71 100644 --- a/crates/index-scheduler/src/queue/tasks.rs +++ b/crates/index-scheduler/src/queue/tasks.rs @@ -9,7 +9,9 @@ use time::OffsetDateTime; use super::{Query, Queue}; use crate::processing::ProcessingTasks; -use crate::utils::{self, insert_task_datetime, keep_ids_within_datetimes, map_bound}; +use crate::utils::{ + self, insert_task_datetime, keep_ids_within_datetimes, map_bound, remove_task_datetime, +}; use crate::{Error, Result, TaskId, BEI128}; /// Database const names for the `IndexScheduler`. @@ -90,12 +92,14 @@ impl TaskQueue { pub(crate) fn update_task(&self, wtxn: &mut RwTxn, task: &Task) -> Result<()> { let old_task = self.get_task(wtxn, task.uid)?.ok_or(Error::CorruptedTaskQueue)?; + let reprocessing = old_task.status != Status::Enqueued; debug_assert!(old_task != *task); debug_assert_eq!(old_task.uid, task.uid); - debug_assert!(old_task.batch_uid.is_none() && task.batch_uid.is_some()); + + // If we're processing a task that failed it may already contains a batch_uid debug_assert!( - old_task.batch_uid.is_none() && task.batch_uid.is_some(), + reprocessing || (old_task.batch_uid.is_none() && task.batch_uid.is_some()), "\n==> old: {old_task:?}\n==> new: {task:?}" ); @@ -122,13 +126,25 @@ impl TaskQueue { "Cannot update a task's enqueued_at time" ); if old_task.started_at != task.started_at { - assert!(old_task.started_at.is_none(), "Cannot update a task's started_at time"); + assert!( + reprocessing || old_task.started_at.is_none(), + "Cannot update a task's started_at time" + ); + if let Some(started_at) = old_task.started_at { + remove_task_datetime(wtxn, self.started_at, started_at, task.uid)?; + } if let Some(started_at) = task.started_at { insert_task_datetime(wtxn, self.started_at, started_at, task.uid)?; } } if old_task.finished_at != task.finished_at { - assert!(old_task.finished_at.is_none(), "Cannot update a task's finished_at time"); + assert!( + reprocessing || old_task.finished_at.is_none(), + "Cannot update a task's finished_at time" + ); + if let Some(finished_at) = old_task.finished_at { + remove_task_datetime(wtxn, self.finished_at, finished_at, task.uid)?; + } if let Some(finished_at) = task.finished_at { insert_task_datetime(wtxn, self.finished_at, finished_at, task.uid)?; } diff --git a/crates/index-scheduler/src/scheduler/create_batch.rs b/crates/index-scheduler/src/scheduler/create_batch.rs index 58bc5c9fc..41bc46a11 100644 --- a/crates/index-scheduler/src/scheduler/create_batch.rs +++ b/crates/index-scheduler/src/scheduler/create_batch.rs @@ -433,9 +433,10 @@ impl IndexScheduler { let mut current_batch = ProcessingBatch::new(batch_id); let enqueued = &self.queue.tasks.get_status(rtxn, Status::Enqueued)?; + let failed = &self.queue.tasks.get_status(rtxn, Status::Failed)?; // 0. The priority over everything is to upgrade the instance - let upgrade = self.queue.tasks.get_kind(rtxn, Kind::UpgradeDatabase)? & enqueued; + let upgrade = self.queue.tasks.get_kind(rtxn, Kind::UpgradeDatabase)? & (enqueued | failed); // There shouldn't be multiple upgrade tasks but just in case we're going to batch all of them at the same time if !upgrade.is_empty() { let mut tasks = self.queue.tasks.get_existing_tasks(rtxn, upgrade)?; diff --git a/crates/index-scheduler/src/scheduler/process_batch.rs b/crates/index-scheduler/src/scheduler/process_batch.rs index ae98dc83c..2f4a8e7da 100644 --- a/crates/index-scheduler/src/scheduler/process_batch.rs +++ b/crates/index-scheduler/src/scheduler/process_batch.rs @@ -329,6 +329,8 @@ impl IndexScheduler { for task in tasks.iter_mut() { task.status = Status::Succeeded; + // Since this task can be retried we must reset its error status + task.error = None; } Ok(tasks) diff --git a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs index 1471723ef..8472f2dba 100644 --- a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs +++ b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs @@ -9,6 +9,9 @@ impl IndexScheduler { pub(super) fn process_upgrade(&self, progress: Progress) -> Result<()> { progress.update_progress(UpgradeDatabaseProgress::EnsuringCorrectnessOfTheSwap); + #[cfg(test)] + self.maybe_fail(crate::test_utils::FailureLocation::ProcessUpgrade)?; + enum UpgradeIndex {} let indexes = self.index_names()?; @@ -20,9 +23,9 @@ impl IndexScheduler { )); let index = self.index(uid)?; let mut wtxn = index.write_txn()?; - let regenerate = milli::update::upgrade::upgrade(&mut wtxn, &index, progress.clone()) + let regen_stats = milli::update::upgrade::upgrade(&mut wtxn, &index, progress.clone()) .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; - if regenerate { + if regen_stats { let stats = crate::index_mapper::IndexStats::new(&index, &wtxn) .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; // Release wtxn as soon as possible because it stops us from registering tasks diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap new file mode 100644 index 000000000..543ddf384 --- /dev/null +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap @@ -0,0 +1,118 @@ +--- +source: crates/index-scheduler/src/scheduler/test_failure.rs +snapshot_kind: text +--- +### Autobatching Enabled = true +### Processing batch None: +[] +---------------------------------------------------------------------- +### All Tasks: +0 {uid: 0, batch_uid: 3, status: succeeded, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} +1 {uid: 1, batch_uid: 2, status: succeeded, kind: UpgradeDatabase { from: (1, 12, 0) }} +2 {uid: 2, batch_uid: 4, status: succeeded, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} +3 {uid: 3, batch_uid: 5, status: failed, error: ResponseError { code: 200, message: "Index `doggo` already exists.", error_code: "index_already_exists", error_type: "invalid_request", error_link: "https://docs.meilisearch.com/errors#index_already_exists" }, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} +4 {uid: 4, batch_uid: 6, status: succeeded, details: { primary_key: Some("leaves") }, kind: IndexCreation { index_uid: "girafo", primary_key: Some("leaves") }} +---------------------------------------------------------------------- +### Status: +enqueued [] +succeeded [0,1,2,4,] +failed [3,] +---------------------------------------------------------------------- +### Kind: +"indexCreation" [0,2,3,4,] +"upgradeDatabase" [1,] +---------------------------------------------------------------------- +### Index Tasks: +catto [0,] +doggo [2,3,] +girafo [4,] +---------------------------------------------------------------------- +### Index Mapper: +catto: { number_of_documents: 0, field_distribution: {} } +doggo: { number_of_documents: 0, field_distribution: {} } +girafo: { number_of_documents: 0, field_distribution: {} } + +---------------------------------------------------------------------- +### Canceled By: + +---------------------------------------------------------------------- +### Enqueued At: +[timestamp] [0,] +[timestamp] [1,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +---------------------------------------------------------------------- +### Started At: +[timestamp] [1,] +[timestamp] [0,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +---------------------------------------------------------------------- +### Finished At: +[timestamp] [1,] +[timestamp] [0,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +---------------------------------------------------------------------- +### All Batches: +0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +1 {uid: 1, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +2 {uid: 2, details: {}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +3 {uid: 3, details: {"primaryKey":"mouse"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"catto":1}}, } +4 {uid: 4, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } +5 {uid: 5, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } +6 {uid: 6, details: {"primaryKey":"leaves"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"girafo":1}}, } +---------------------------------------------------------------------- +### Batch to tasks mapping: +0 [1,] +1 [1,] +2 [1,] +3 [0,] +4 [2,] +5 [3,] +6 [4,] +---------------------------------------------------------------------- +### Batches Status: +succeeded [2,3,4,6,] +failed [0,1,5,] +---------------------------------------------------------------------- +### Batches Kind: +"indexCreation" [3,4,5,6,] +"upgradeDatabase" [0,1,2,] +---------------------------------------------------------------------- +### Batches Index Tasks: +catto [3,] +doggo [4,5,] +girafo [6,] +---------------------------------------------------------------------- +### Batches Enqueued At: +[timestamp] [3,] +[timestamp] [0,1,2,] +[timestamp] [4,] +[timestamp] [5,] +[timestamp] [6,] +---------------------------------------------------------------------- +### Batches Started At: +[timestamp] [0,] +[timestamp] [1,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +[timestamp] [5,] +[timestamp] [6,] +---------------------------------------------------------------------- +### Batches Finished At: +[timestamp] [0,] +[timestamp] [1,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +[timestamp] [5,] +[timestamp] [6,] +---------------------------------------------------------------------- +### File Store: + +---------------------------------------------------------------------- diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap new file mode 100644 index 000000000..2294e7845 --- /dev/null +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap @@ -0,0 +1,55 @@ +--- +source: crates/index-scheduler/src/scheduler/test_failure.rs +snapshot_kind: text +--- +### Autobatching Enabled = true +### Processing batch None: +[] +---------------------------------------------------------------------- +### All Tasks: +0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} +1 {uid: 1, status: enqueued, kind: UpgradeDatabase { from: (1, 12, 0) }} +---------------------------------------------------------------------- +### Status: +enqueued [0,1,] +---------------------------------------------------------------------- +### Kind: +"indexCreation" [0,] +"upgradeDatabase" [1,] +---------------------------------------------------------------------- +### Index Tasks: +catto [0,] +---------------------------------------------------------------------- +### Index Mapper: + +---------------------------------------------------------------------- +### Canceled By: + +---------------------------------------------------------------------- +### Enqueued At: +[timestamp] [0,] +[timestamp] [1,] +---------------------------------------------------------------------- +### Started At: +---------------------------------------------------------------------- +### Finished At: +---------------------------------------------------------------------- +### All Batches: +---------------------------------------------------------------------- +### Batch to tasks mapping: +---------------------------------------------------------------------- +### Batches Status: +---------------------------------------------------------------------- +### Batches Kind: +---------------------------------------------------------------------- +### Batches Index Tasks: +---------------------------------------------------------------------- +### Batches Enqueued At: +---------------------------------------------------------------------- +### Batches Started At: +---------------------------------------------------------------------- +### Batches Finished At: +---------------------------------------------------------------------- +### File Store: + +---------------------------------------------------------------------- diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap new file mode 100644 index 000000000..0ec4f1057 --- /dev/null +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap @@ -0,0 +1,65 @@ +--- +source: crates/index-scheduler/src/scheduler/test_failure.rs +snapshot_kind: text +--- +### Autobatching Enabled = true +### Processing batch None: +[] +---------------------------------------------------------------------- +### All Tasks: +0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} +1 {uid: 1, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, kind: UpgradeDatabase { from: (1, 12, 0) }} +---------------------------------------------------------------------- +### Status: +enqueued [0,] +failed [1,] +---------------------------------------------------------------------- +### Kind: +"indexCreation" [0,] +"upgradeDatabase" [1,] +---------------------------------------------------------------------- +### Index Tasks: +catto [0,] +---------------------------------------------------------------------- +### Index Mapper: + +---------------------------------------------------------------------- +### Canceled By: + +---------------------------------------------------------------------- +### Enqueued At: +[timestamp] [0,] +[timestamp] [1,] +---------------------------------------------------------------------- +### Started At: +[timestamp] [1,] +---------------------------------------------------------------------- +### Finished At: +[timestamp] [1,] +---------------------------------------------------------------------- +### All Batches: +0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +---------------------------------------------------------------------- +### Batch to tasks mapping: +0 [1,] +---------------------------------------------------------------------- +### Batches Status: +failed [0,] +---------------------------------------------------------------------- +### Batches Kind: +"upgradeDatabase" [0,] +---------------------------------------------------------------------- +### Batches Index Tasks: +---------------------------------------------------------------------- +### Batches Enqueued At: +[timestamp] [0,] +---------------------------------------------------------------------- +### Batches Started At: +[timestamp] [0,] +---------------------------------------------------------------------- +### Batches Finished At: +[timestamp] [0,] +---------------------------------------------------------------------- +### File Store: + +---------------------------------------------------------------------- diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap new file mode 100644 index 000000000..7c2e5d427 --- /dev/null +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap @@ -0,0 +1,72 @@ +--- +source: crates/index-scheduler/src/scheduler/test_failure.rs +snapshot_kind: text +--- +### Autobatching Enabled = true +### Processing batch None: +[] +---------------------------------------------------------------------- +### All Tasks: +0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} +1 {uid: 1, batch_uid: 1, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, kind: UpgradeDatabase { from: (1, 12, 0) }} +2 {uid: 2, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} +---------------------------------------------------------------------- +### Status: +enqueued [0,2,] +failed [1,] +---------------------------------------------------------------------- +### Kind: +"indexCreation" [0,2,] +"upgradeDatabase" [1,] +---------------------------------------------------------------------- +### Index Tasks: +catto [0,] +doggo [2,] +---------------------------------------------------------------------- +### Index Mapper: + +---------------------------------------------------------------------- +### Canceled By: + +---------------------------------------------------------------------- +### Enqueued At: +[timestamp] [0,] +[timestamp] [1,] +[timestamp] [2,] +---------------------------------------------------------------------- +### Started At: +[timestamp] [1,] +---------------------------------------------------------------------- +### Finished At: +[timestamp] [1,] +---------------------------------------------------------------------- +### All Batches: +0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +1 {uid: 1, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +---------------------------------------------------------------------- +### Batch to tasks mapping: +0 [1,] +1 [1,] +---------------------------------------------------------------------- +### Batches Status: +failed [0,1,] +---------------------------------------------------------------------- +### Batches Kind: +"upgradeDatabase" [0,1,] +---------------------------------------------------------------------- +### Batches Index Tasks: +---------------------------------------------------------------------- +### Batches Enqueued At: +[timestamp] [0,1,] +---------------------------------------------------------------------- +### Batches Started At: +[timestamp] [0,] +[timestamp] [1,] +---------------------------------------------------------------------- +### Batches Finished At: +[timestamp] [0,] +[timestamp] [1,] +---------------------------------------------------------------------- +### File Store: + +---------------------------------------------------------------------- diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap new file mode 100644 index 000000000..a641048a0 --- /dev/null +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap @@ -0,0 +1,80 @@ +--- +source: crates/index-scheduler/src/scheduler/test_failure.rs +snapshot_kind: text +--- +### Autobatching Enabled = true +### Processing batch None: +[] +---------------------------------------------------------------------- +### All Tasks: +0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} +1 {uid: 1, batch_uid: 2, status: succeeded, kind: UpgradeDatabase { from: (1, 12, 0) }} +2 {uid: 2, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} +3 {uid: 3, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} +---------------------------------------------------------------------- +### Status: +enqueued [0,2,3,] +succeeded [1,] +failed [] +---------------------------------------------------------------------- +### Kind: +"indexCreation" [0,2,3,] +"upgradeDatabase" [1,] +---------------------------------------------------------------------- +### Index Tasks: +catto [0,] +doggo [2,3,] +---------------------------------------------------------------------- +### Index Mapper: + +---------------------------------------------------------------------- +### Canceled By: + +---------------------------------------------------------------------- +### Enqueued At: +[timestamp] [0,] +[timestamp] [1,] +[timestamp] [2,] +[timestamp] [3,] +---------------------------------------------------------------------- +### Started At: +[timestamp] [1,] +---------------------------------------------------------------------- +### Finished At: +[timestamp] [1,] +---------------------------------------------------------------------- +### All Batches: +0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +1 {uid: 1, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +2 {uid: 2, details: {}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +---------------------------------------------------------------------- +### Batch to tasks mapping: +0 [1,] +1 [1,] +2 [1,] +---------------------------------------------------------------------- +### Batches Status: +succeeded [2,] +failed [0,1,] +---------------------------------------------------------------------- +### Batches Kind: +"upgradeDatabase" [0,1,2,] +---------------------------------------------------------------------- +### Batches Index Tasks: +---------------------------------------------------------------------- +### Batches Enqueued At: +[timestamp] [0,1,2,] +---------------------------------------------------------------------- +### Batches Started At: +[timestamp] [0,] +[timestamp] [1,] +[timestamp] [2,] +---------------------------------------------------------------------- +### Batches Finished At: +[timestamp] [0,] +[timestamp] [1,] +[timestamp] [2,] +---------------------------------------------------------------------- +### File Store: + +---------------------------------------------------------------------- diff --git a/crates/index-scheduler/src/scheduler/test_failure.rs b/crates/index-scheduler/src/scheduler/test_failure.rs index cf835daa3..b215083fa 100644 --- a/crates/index-scheduler/src/scheduler/test_failure.rs +++ b/crates/index-scheduler/src/scheduler/test_failure.rs @@ -7,8 +7,10 @@ use meilisearch_types::milli::obkv_to_json; use meilisearch_types::milli::update::IndexDocumentsMethod::*; use meilisearch_types::milli::update::Setting; use meilisearch_types::tasks::KindWithContent; +use roaring::RoaringBitmap; use crate::insta_snapshot::snapshot_index_scheduler; +use crate::test_utils::Breakpoint; use crate::test_utils::Breakpoint::*; use crate::test_utils::{index_creation_task, read_json, FailureLocation}; use crate::IndexScheduler; @@ -249,3 +251,68 @@ fn panic_in_process_batch_for_index_creation() { // No matter what happens in process_batch, the index_scheduler should be internally consistent snapshot!(snapshot_index_scheduler(&index_scheduler), name: "index_creation_failed"); } + +#[test] +fn upgrade_failure() { + let (index_scheduler, mut handle) = + IndexScheduler::test(true, vec![(1, FailureLocation::ProcessUpgrade)]); + + let kind = index_creation_task("catto", "mouse"); + let _task = index_scheduler.register(kind, None, false).unwrap(); + let upgrade_database_task = index_scheduler + .register(KindWithContent::UpgradeDatabase { from: (1, 12, 0) }, None, false) + .unwrap(); + snapshot!(snapshot_index_scheduler(&index_scheduler), name: "registered_a_task_and_upgrade_task"); + + handle.advance_one_failed_batch(); + snapshot!(snapshot_index_scheduler(&index_scheduler), name: "upgrade_task_failed"); + + // We can still register tasks + let kind = index_creation_task("doggo", "bone"); + let _task = index_scheduler.register(kind, None, false).unwrap(); + + // But the scheduler is down and won't process anything ever again + handle.scheduler_is_down(); + + // =====> After a restart is it still working as expected? + let (index_scheduler, mut handle) = + handle.restart(index_scheduler, true, vec![(1, FailureLocation::ProcessUpgrade)]); + + handle.advance_one_failed_batch(); + snapshot!(snapshot_index_scheduler(&index_scheduler), name: "upgrade_task_failed_again"); + // We can still register tasks + let kind = index_creation_task("doggo", "bone"); + let _task = index_scheduler.register(kind, None, false).unwrap(); + // And the scheduler is still down and won't process anything ever again + handle.scheduler_is_down(); + + // =====> After a rerestart and without failure can we upgrade the indexes and process the tasks + let (index_scheduler, mut handle) = handle.restart(index_scheduler, true, vec![]); + + handle.advance_one_successful_batch(); + snapshot!(snapshot_index_scheduler(&index_scheduler), name: "upgrade_task_succeeded"); + // We can still register tasks + let kind = index_creation_task("girafo", "leaves"); + let _task = index_scheduler.register(kind, None, false).unwrap(); + // The scheduler is up and running + handle.advance_one_successful_batch(); + handle.advance_one_successful_batch(); + handle.advance_one_failed_batch(); // doggo already exists + handle.advance_one_successful_batch(); + snapshot!(snapshot_index_scheduler(&index_scheduler), name: "after_processing_everything"); + + // When deleting the single upgrade task it should remove the three associated batches + let _task = index_scheduler + .register( + KindWithContent::TaskDeletion { + query: String::from("test"), + tasks: RoaringBitmap::from_iter([upgrade_database_task.uid]), + }, + None, + false, + ) + .unwrap(); + + handle.advance_one_successful_batch(); + snapshot!(snapshot_index_scheduler(&index_scheduler), name: "after_removing_the_upgrade"); +} diff --git a/crates/index-scheduler/src/test_utils.rs b/crates/index-scheduler/src/test_utils.rs index c83a8ab0b..a63825104 100644 --- a/crates/index-scheduler/src/test_utils.rs +++ b/crates/index-scheduler/src/test_utils.rs @@ -1,10 +1,18 @@ use std::io::{BufWriter, Write}; use std::sync::Arc; +use std::time::Duration; +use big_s::S; +use crossbeam_channel::RecvTimeoutError; use file_store::File; use meilisearch_types::document_formats::DocumentFormatError; use meilisearch_types::milli::update::IndexDocumentsMethod::ReplaceDocuments; +use meilisearch_types::milli::update::IndexerConfig; +use meilisearch_types::tasks::KindWithContent; +use meilisearch_types::VERSION_FILE_NAME; +use tempfile::{NamedTempFile, TempDir}; use uuid::Uuid; +use Breakpoint::*; use crate::insta_snapshot::snapshot_index_scheduler; use crate::{Error, IndexScheduler, IndexSchedulerOptions}; @@ -28,20 +36,13 @@ pub(crate) enum FailureLocation { InsideCreateBatch, InsideProcessBatch, PanicInsideProcessBatch, + ProcessUpgrade, AcquiringWtxn, UpdatingTaskAfterProcessBatchSuccess { task_uid: u32 }, UpdatingTaskAfterProcessBatchFailure, CommittingWtxn, } -use big_s::S; -use crossbeam_channel::RecvTimeoutError; -use meilisearch_types::milli::update::IndexerConfig; -use meilisearch_types::tasks::KindWithContent; -use meilisearch_types::VERSION_FILE_NAME; -use tempfile::{NamedTempFile, TempDir}; -use Breakpoint::*; - impl IndexScheduler { /// Blocks the thread until the test handle asks to progress to/through this breakpoint. /// @@ -55,7 +56,6 @@ impl IndexScheduler { /// As soon as we find it, the index scheduler is unblocked but then wait again on the call to /// `test_breakpoint_sdr.send(b, true)`. This message will only be able to send once the /// test asks to progress to the next `(b2, false)`. - #[cfg(test)] pub(crate) fn breakpoint(&self, b: Breakpoint) { // We send two messages. The first one will sync with the call // to `handle.wait_until(b)`. The second one will block until the @@ -225,6 +225,46 @@ pub struct IndexSchedulerHandle { } impl IndexSchedulerHandle { + /// Restarts the index-scheduler on the same database. + /// To use this function you must give back the index-scheduler that was given to you when + /// creating the handle the first time. + /// If the index-scheduler has been cloned in the meantime you must drop all copy otherwise + /// the function will panic. + pub(crate) fn restart( + self, + index_scheduler: IndexScheduler, + autobatching_enabled: bool, + planned_failures: Vec<(usize, FailureLocation)>, + ) -> (IndexScheduler, Self) { + drop(index_scheduler); + let Self { _tempdir: tempdir, index_scheduler, test_breakpoint_rcv, last_breakpoint: _ } = + self; + drop(index_scheduler); + + // We must ensure that the `run` function has stopped running before restarting the index scheduler + loop { + match test_breakpoint_rcv.recv_timeout(Duration::from_secs(5)) { + Ok(_) => continue, + Err(RecvTimeoutError::Timeout) => panic!("The indexing loop is stuck somewhere"), + Err(RecvTimeoutError::Disconnected) => break, + } + } + + let (scheduler, mut handle) = + IndexScheduler::test_with_custom_config(planned_failures, |config| { + config.autobatching_enabled = autobatching_enabled; + config.version_file_path = tempdir.path().join(VERSION_FILE_NAME); + config.auth_path = tempdir.path().join("auth"); + config.tasks_path = tempdir.path().join("db_path"); + config.update_file_path = tempdir.path().join("file_store"); + config.indexes_path = tempdir.path().join("indexes"); + config.snapshots_path = tempdir.path().join("snapshots"); + config.dumps_path = tempdir.path().join("dumps"); + }); + handle._tempdir = tempdir; + (scheduler, handle) + } + /// Advance the scheduler to the next tick. /// Panic /// * If the scheduler is waiting for a task to be registered. @@ -350,4 +390,18 @@ impl IndexSchedulerHandle { } self.advance_till([AfterProcessing]); } + + // Wait for one failed batch. + #[track_caller] + pub(crate) fn scheduler_is_down(&mut self) { + loop { + match self + .test_breakpoint_rcv + .recv_timeout(std::time::Duration::from_secs(1)) { + Ok((_, true)) => continue, + Ok((b, false)) => panic!("The scheduler was supposed to be down but successfully moved to the next breakpoint: {b:?}"), + Err(RecvTimeoutError::Timeout | RecvTimeoutError::Disconnected) => break, + } + } + } } From bac7a1623ada5caded4e02ff82cd60d916320a37 Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 21 Jan 2025 16:11:53 +0100 Subject: [PATCH 09/36] fix the upgrade test --- crates/index-scheduler/src/queue/batches.rs | 69 ++++++++++- .../src/scheduler/create_batch.rs | 7 +- .../after_processing_everything.snap | 56 ++++----- .../after_removing_the_upgrade.snap | 115 ++++++++++++++++++ .../upgrade_task_failed_again.snap | 12 +- .../upgrade_task_succeeded.snap | 20 +-- 6 files changed, 223 insertions(+), 56 deletions(-) create mode 100644 crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade.snap diff --git a/crates/index-scheduler/src/queue/batches.rs b/crates/index-scheduler/src/queue/batches.rs index a31653387..b45524786 100644 --- a/crates/index-scheduler/src/queue/batches.rs +++ b/crates/index-scheduler/src/queue/batches.rs @@ -1,3 +1,4 @@ +use std::collections::HashSet; use std::ops::{Bound, RangeBounds}; use meilisearch_types::batches::{Batch, BatchId}; @@ -10,7 +11,10 @@ use time::OffsetDateTime; use super::{Query, Queue}; use crate::processing::ProcessingTasks; -use crate::utils::{insert_task_datetime, keep_ids_within_datetimes, map_bound, ProcessingBatch}; +use crate::utils::{ + insert_task_datetime, keep_ids_within_datetimes, map_bound, remove_task_datetime, + ProcessingBatch, +}; use crate::{Error, Result, BEI128}; /// Database const names for the `IndexScheduler`. @@ -159,6 +163,8 @@ impl BatchQueue { } pub(crate) fn write_batch(&self, wtxn: &mut RwTxn, batch: ProcessingBatch) -> Result<()> { + let old_batch = self.all_batches.get(wtxn, &batch.uid)?; + self.all_batches.put( wtxn, &batch.uid, @@ -172,30 +178,91 @@ impl BatchQueue { }, )?; + // Update the statuses + if let Some(ref old_batch) = old_batch { + for status in old_batch.stats.status.keys() { + self.update_status(wtxn, *status, |bitmap| { + bitmap.remove(batch.uid); + })?; + } + } for status in batch.statuses { self.update_status(wtxn, status, |bitmap| { bitmap.insert(batch.uid); })?; } + // Update the kinds / types + if let Some(ref old_batch) = old_batch { + let kinds: HashSet<_> = old_batch.stats.types.keys().cloned().collect(); + for kind in kinds.difference(&batch.kinds) { + self.update_kind(wtxn, *kind, |bitmap| { + bitmap.remove(batch.uid); + })?; + } + } for kind in batch.kinds { self.update_kind(wtxn, kind, |bitmap| { bitmap.insert(batch.uid); })?; } + // Update the indexes + if let Some(ref old_batch) = old_batch { + let indexes: HashSet<_> = old_batch.stats.index_uids.keys().cloned().collect(); + for index in indexes.difference(&batch.indexes) { + self.update_index(wtxn, index, |bitmap| { + bitmap.remove(batch.uid); + })?; + } + } for index in batch.indexes { self.update_index(wtxn, &index, |bitmap| { bitmap.insert(batch.uid); })?; } + // Update the enqueued_at, we cannot retrieve the previous enqueued at from the previous batch and + // must instead go through the db looking for it. We cannot look at the task contained in this batch either + // because they may have been removed. + // What we know though is that the task date from before the enqueued_at and only two timestamp have been written + // to the DB per batches. + if let Some(ref old_batch) = old_batch { + let started_at = old_batch.started_at.unix_timestamp_nanos(); + let mut exit = false; + let mut iterator = self.enqueued_at.rev_iter_mut(wtxn)?; + while let Some(entry) = iterator.next() { + let (key, mut value) = entry?; + if key > started_at { + continue; + } + if value.remove(old_batch.uid) { + // Safe because the key and value are owned + unsafe { + iterator.put_current(&key, &value)?; + } + if exit { + break; + } else { + exit = true; + } + } + } + } if let Some(enqueued_at) = batch.oldest_enqueued_at { insert_task_datetime(wtxn, self.enqueued_at, enqueued_at, batch.uid)?; } if let Some(enqueued_at) = batch.earliest_enqueued_at { insert_task_datetime(wtxn, self.enqueued_at, enqueued_at, batch.uid)?; } + + // Update the started at and finished at + if let Some(ref old_batch) = old_batch { + remove_task_datetime(wtxn, self.started_at, old_batch.started_at, old_batch.uid)?; + if let Some(finished_at) = old_batch.finished_at { + remove_task_datetime(wtxn, self.finished_at, finished_at, old_batch.uid)?; + } + } insert_task_datetime(wtxn, self.started_at, batch.started_at, batch.uid)?; insert_task_datetime(wtxn, self.finished_at, batch.finished_at.unwrap(), batch.uid)?; diff --git a/crates/index-scheduler/src/scheduler/create_batch.rs b/crates/index-scheduler/src/scheduler/create_batch.rs index 41bc46a11..2fc3025d7 100644 --- a/crates/index-scheduler/src/scheduler/create_batch.rs +++ b/crates/index-scheduler/src/scheduler/create_batch.rs @@ -436,10 +436,15 @@ impl IndexScheduler { let failed = &self.queue.tasks.get_status(rtxn, Status::Failed)?; // 0. The priority over everything is to upgrade the instance - let upgrade = self.queue.tasks.get_kind(rtxn, Kind::UpgradeDatabase)? & (enqueued | failed); // There shouldn't be multiple upgrade tasks but just in case we're going to batch all of them at the same time + let upgrade = self.queue.tasks.get_kind(rtxn, Kind::UpgradeDatabase)? & (enqueued | failed); if !upgrade.is_empty() { let mut tasks = self.queue.tasks.get_existing_tasks(rtxn, upgrade)?; + // In the case of an upgrade database batch, we want to find back the original batch that tried processing it + // and re-use its id + if let Some(batch_uid) = tasks.last().unwrap().batch_uid { + current_batch.uid = batch_uid; + } current_batch.processing(&mut tasks); return Ok(Some((Batch::UpgradeDatabase { tasks }, current_batch))); } diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap index 543ddf384..8bc094207 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap @@ -7,11 +7,11 @@ snapshot_kind: text [] ---------------------------------------------------------------------- ### All Tasks: -0 {uid: 0, batch_uid: 3, status: succeeded, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 2, status: succeeded, kind: UpgradeDatabase { from: (1, 12, 0) }} -2 {uid: 2, batch_uid: 4, status: succeeded, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} -3 {uid: 3, batch_uid: 5, status: failed, error: ResponseError { code: 200, message: "Index `doggo` already exists.", error_code: "index_already_exists", error_type: "invalid_request", error_link: "https://docs.meilisearch.com/errors#index_already_exists" }, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} -4 {uid: 4, batch_uid: 6, status: succeeded, details: { primary_key: Some("leaves") }, kind: IndexCreation { index_uid: "girafo", primary_key: Some("leaves") }} +0 {uid: 0, batch_uid: 1, status: succeeded, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} +1 {uid: 1, batch_uid: 0, status: succeeded, kind: UpgradeDatabase { from: (1, 12, 0) }} +2 {uid: 2, batch_uid: 2, status: succeeded, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} +3 {uid: 3, batch_uid: 3, status: failed, error: ResponseError { code: 200, message: "Index `doggo` already exists.", error_code: "index_already_exists", error_type: "invalid_request", error_link: "https://docs.meilisearch.com/errors#index_already_exists" }, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} +4 {uid: 4, batch_uid: 4, status: succeeded, details: { primary_key: Some("leaves") }, kind: IndexCreation { index_uid: "girafo", primary_key: Some("leaves") }} ---------------------------------------------------------------------- ### Status: enqueued [] @@ -58,42 +58,38 @@ girafo: { number_of_documents: 0, field_distribution: {} } [timestamp] [4,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } -1 {uid: 1, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } -2 {uid: 2, details: {}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } -3 {uid: 3, details: {"primaryKey":"mouse"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"catto":1}}, } -4 {uid: 4, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } -5 {uid: 5, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } -6 {uid: 6, details: {"primaryKey":"leaves"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"girafo":1}}, } +0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +1 {uid: 1, details: {"primaryKey":"mouse"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"catto":1}}, } +2 {uid: 2, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } +3 {uid: 3, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } +4 {uid: 4, details: {"primaryKey":"leaves"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"girafo":1}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: 0 [1,] -1 [1,] -2 [1,] -3 [0,] -4 [2,] -5 [3,] -6 [4,] +1 [0,] +2 [2,] +3 [3,] +4 [4,] ---------------------------------------------------------------------- ### Batches Status: -succeeded [2,3,4,6,] -failed [0,1,5,] +succeeded [0,1,2,4,] +failed [3,] ---------------------------------------------------------------------- ### Batches Kind: -"indexCreation" [3,4,5,6,] -"upgradeDatabase" [0,1,2,] +"indexCreation" [1,2,3,4,] +"upgradeDatabase" [0,] ---------------------------------------------------------------------- ### Batches Index Tasks: -catto [3,] -doggo [4,5,] -girafo [6,] +catto [1,] +doggo [2,3,] +girafo [4,] ---------------------------------------------------------------------- ### Batches Enqueued At: +[timestamp] [1,] +[timestamp] [0,] +[timestamp] [2,] [timestamp] [3,] -[timestamp] [0,1,2,] [timestamp] [4,] -[timestamp] [5,] -[timestamp] [6,] ---------------------------------------------------------------------- ### Batches Started At: [timestamp] [0,] @@ -101,8 +97,6 @@ girafo [6,] [timestamp] [2,] [timestamp] [3,] [timestamp] [4,] -[timestamp] [5,] -[timestamp] [6,] ---------------------------------------------------------------------- ### Batches Finished At: [timestamp] [0,] @@ -110,8 +104,6 @@ girafo [6,] [timestamp] [2,] [timestamp] [3,] [timestamp] [4,] -[timestamp] [5,] -[timestamp] [6,] ---------------------------------------------------------------------- ### File Store: diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade.snap new file mode 100644 index 000000000..8064f8425 --- /dev/null +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade.snap @@ -0,0 +1,115 @@ +--- +source: crates/index-scheduler/src/scheduler/test_failure.rs +snapshot_kind: text +--- +### Autobatching Enabled = true +### Processing batch None: +[] +---------------------------------------------------------------------- +### All Tasks: +0 {uid: 0, batch_uid: 1, status: succeeded, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} +2 {uid: 2, batch_uid: 2, status: succeeded, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} +3 {uid: 3, batch_uid: 3, status: failed, error: ResponseError { code: 200, message: "Index `doggo` already exists.", error_code: "index_already_exists", error_type: "invalid_request", error_link: "https://docs.meilisearch.com/errors#index_already_exists" }, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} +4 {uid: 4, batch_uid: 4, status: succeeded, details: { primary_key: Some("leaves") }, kind: IndexCreation { index_uid: "girafo", primary_key: Some("leaves") }} +5 {uid: 5, batch_uid: 5, status: succeeded, details: { matched_tasks: 1, deleted_tasks: Some(1), original_filter: "test" }, kind: TaskDeletion { query: "test", tasks: RoaringBitmap<[1]> }} +---------------------------------------------------------------------- +### Status: +enqueued [] +succeeded [0,2,4,5,] +failed [3,] +---------------------------------------------------------------------- +### Kind: +"indexCreation" [0,2,3,4,] +"taskDeletion" [5,] +"upgradeDatabase" [] +---------------------------------------------------------------------- +### Index Tasks: +catto [0,] +doggo [2,3,] +girafo [4,] +---------------------------------------------------------------------- +### Index Mapper: +catto: { number_of_documents: 0, field_distribution: {} } +doggo: { number_of_documents: 0, field_distribution: {} } +girafo: { number_of_documents: 0, field_distribution: {} } + +---------------------------------------------------------------------- +### Canceled By: + +---------------------------------------------------------------------- +### Enqueued At: +[timestamp] [0,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +[timestamp] [5,] +---------------------------------------------------------------------- +### Started At: +[timestamp] [0,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +[timestamp] [5,] +---------------------------------------------------------------------- +### Finished At: +[timestamp] [0,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +[timestamp] [5,] +---------------------------------------------------------------------- +### All Batches: +1 {uid: 1, details: {"primaryKey":"mouse"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"catto":1}}, } +2 {uid: 2, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } +3 {uid: 3, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } +4 {uid: 4, details: {"primaryKey":"leaves"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"girafo":1}}, } +5 {uid: 5, details: {"matchedTasks":1,"deletedTasks":1,"originalFilter":"test"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"taskDeletion":1},"indexUids":{}}, } +---------------------------------------------------------------------- +### Batch to tasks mapping: +1 [0,] +2 [2,] +3 [3,] +4 [4,] +5 [5,] +---------------------------------------------------------------------- +### Batches Status: +succeeded [1,2,4,5,] +failed [3,] +---------------------------------------------------------------------- +### Batches Kind: +"indexCreation" [1,2,3,4,] +"taskDeletion" [5,] +"upgradeDatabase" [] +---------------------------------------------------------------------- +### Batches Index Tasks: +catto [1,] +doggo [2,3,] +girafo [4,] +---------------------------------------------------------------------- +### Batches Enqueued At: +[timestamp] [1,] +[timestamp] [0,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +[timestamp] [5,] +---------------------------------------------------------------------- +### Batches Started At: +[timestamp] [0,] +[timestamp] [1,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +[timestamp] [5,] +---------------------------------------------------------------------- +### Batches Finished At: +[timestamp] [0,] +[timestamp] [1,] +[timestamp] [2,] +[timestamp] [3,] +[timestamp] [4,] +[timestamp] [5,] +---------------------------------------------------------------------- +### File Store: + +---------------------------------------------------------------------- diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap index 7c2e5d427..466302907 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap @@ -8,7 +8,7 @@ snapshot_kind: text ---------------------------------------------------------------------- ### All Tasks: 0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 1, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, kind: UpgradeDatabase { from: (1, 12, 0) }} 2 {uid: 2, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} ---------------------------------------------------------------------- ### Status: @@ -42,30 +42,26 @@ doggo [2,] ---------------------------------------------------------------------- ### All Batches: 0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } -1 {uid: 1, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: 0 [1,] -1 [1,] ---------------------------------------------------------------------- ### Batches Status: -failed [0,1,] +failed [0,] ---------------------------------------------------------------------- ### Batches Kind: -"upgradeDatabase" [0,1,] +"upgradeDatabase" [0,] ---------------------------------------------------------------------- ### Batches Index Tasks: ---------------------------------------------------------------------- ### Batches Enqueued At: -[timestamp] [0,1,] +[timestamp] [0,] ---------------------------------------------------------------------- ### Batches Started At: [timestamp] [0,] -[timestamp] [1,] ---------------------------------------------------------------------- ### Batches Finished At: [timestamp] [0,] -[timestamp] [1,] ---------------------------------------------------------------------- ### File Store: diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap index a641048a0..bdc309153 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap @@ -8,7 +8,7 @@ snapshot_kind: text ---------------------------------------------------------------------- ### All Tasks: 0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 2, status: succeeded, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, batch_uid: 0, status: succeeded, kind: UpgradeDatabase { from: (1, 12, 0) }} 2 {uid: 2, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} 3 {uid: 3, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} ---------------------------------------------------------------------- @@ -44,36 +44,28 @@ doggo [2,3,] [timestamp] [1,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } -1 {uid: 1, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } -2 {uid: 2, details: {}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: 0 [1,] -1 [1,] -2 [1,] ---------------------------------------------------------------------- ### Batches Status: -succeeded [2,] -failed [0,1,] +succeeded [0,] +failed [] ---------------------------------------------------------------------- ### Batches Kind: -"upgradeDatabase" [0,1,2,] +"upgradeDatabase" [0,] ---------------------------------------------------------------------- ### Batches Index Tasks: ---------------------------------------------------------------------- ### Batches Enqueued At: -[timestamp] [0,1,2,] +[timestamp] [0,] ---------------------------------------------------------------------- ### Batches Started At: [timestamp] [0,] -[timestamp] [1,] -[timestamp] [2,] ---------------------------------------------------------------------- ### Batches Finished At: [timestamp] [0,] -[timestamp] [1,] -[timestamp] [2,] ---------------------------------------------------------------------- ### File Store: From 1eb9fe8562e75d849861b9fceec98bbdf0ec3e85 Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 21 Jan 2025 16:41:03 +0100 Subject: [PATCH 10/36] remove warnings --- crates/index-scheduler/src/processing.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/crates/index-scheduler/src/processing.rs b/crates/index-scheduler/src/processing.rs index 929749411..4073611ea 100644 --- a/crates/index-scheduler/src/processing.rs +++ b/crates/index-scheduler/src/processing.rs @@ -1,8 +1,6 @@ -use std::borrow::Cow; use std::sync::Arc; -use enum_iterator::Sequence; -use meilisearch_types::milli::progress::{AtomicSubStep, NamedStep, Progress, ProgressView, Step}; +use meilisearch_types::milli::progress::{AtomicSubStep, NamedStep, Progress, ProgressView}; use meilisearch_types::milli::{make_atomic_progress, make_enum_progress}; use roaring::RoaringBitmap; From 41eeffd88db79eeb83907069c2c942a1c418e0b0 Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 21 Jan 2025 16:41:16 +0100 Subject: [PATCH 11/36] fmt --- .../index-scheduler/src/scheduler/process_upgrade/mod.rs | 9 ++++----- crates/index-scheduler/src/scheduler/test_failure.rs | 3 +-- crates/index-scheduler/src/upgrade/mod.rs | 8 +++----- crates/meilisearch/tests/upgrade/mod.rs | 6 +++--- crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs | 8 +++----- crates/milli/src/heed_codec/version.rs | 4 ++-- crates/milli/src/update/upgrade/v1_12.rs | 5 ++--- 7 files changed, 18 insertions(+), 25 deletions(-) diff --git a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs index 8472f2dba..319b7b594 100644 --- a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs +++ b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs @@ -1,9 +1,8 @@ -use meilisearch_types::{ - milli, - milli::progress::{Progress, VariableNameStep}, -}; +use meilisearch_types::milli; +use meilisearch_types::milli::progress::{Progress, VariableNameStep}; -use crate::{processing::UpgradeDatabaseProgress, Error, IndexScheduler, Result}; +use crate::processing::UpgradeDatabaseProgress; +use crate::{Error, IndexScheduler, Result}; impl IndexScheduler { pub(super) fn process_upgrade(&self, progress: Progress) -> Result<()> { diff --git a/crates/index-scheduler/src/scheduler/test_failure.rs b/crates/index-scheduler/src/scheduler/test_failure.rs index b215083fa..8e0c06331 100644 --- a/crates/index-scheduler/src/scheduler/test_failure.rs +++ b/crates/index-scheduler/src/scheduler/test_failure.rs @@ -10,9 +10,8 @@ use meilisearch_types::tasks::KindWithContent; use roaring::RoaringBitmap; use crate::insta_snapshot::snapshot_index_scheduler; -use crate::test_utils::Breakpoint; use crate::test_utils::Breakpoint::*; -use crate::test_utils::{index_creation_task, read_json, FailureLocation}; +use crate::test_utils::{index_creation_task, read_json, Breakpoint, FailureLocation}; use crate::IndexScheduler; #[test] diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index ec63d0dc6..981dc8eb8 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -1,11 +1,9 @@ use std::path::Path; use anyhow::bail; -use meilisearch_types::{ - heed, - tasks::{KindWithContent, Status, Task}, - versioning::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}, -}; +use meilisearch_types::heed; +use meilisearch_types::tasks::{KindWithContent, Status, Task}; +use meilisearch_types::versioning::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}; use time::OffsetDateTime; use tracing::info; diff --git a/crates/meilisearch/tests/upgrade/mod.rs b/crates/meilisearch/tests/upgrade/mod.rs index 6feacf982..daa345169 100644 --- a/crates/meilisearch/tests/upgrade/mod.rs +++ b/crates/meilisearch/tests/upgrade/mod.rs @@ -1,13 +1,13 @@ mod v1_12; +use std::path::Path; +use std::{fs, io}; + use meili_snap::snapshot; use meilisearch::Opt; use crate::common::{default_settings, Server}; -use std::path::Path; -use std::{fs, io}; - fn copy_dir_all(src: impl AsRef, dst: impl AsRef) -> io::Result<()> { fs::create_dir_all(&dst)?; for entry in fs::read_dir(src)? { diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs index fd2d363f2..07cf376c1 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +++ b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs @@ -6,11 +6,9 @@ use manifest_dir_macros::exist_relative_path; use meili_snap::{json_string, snapshot}; use meilisearch::Opt; -use crate::{ - common::{default_settings, Server, Value}, - json, - upgrade::copy_dir_all, -}; +use crate::common::{default_settings, Server, Value}; +use crate::json; +use crate::upgrade::copy_dir_all; #[actix_rt::test] async fn import_v1_12_0() { diff --git a/crates/milli/src/heed_codec/version.rs b/crates/milli/src/heed_codec/version.rs index ce9724889..c73b581e3 100644 --- a/crates/milli/src/heed_codec/version.rs +++ b/crates/milli/src/heed_codec/version.rs @@ -1,5 +1,5 @@ -use std::mem::size_of; -use std::{borrow::Cow, mem::size_of_val}; +use std::borrow::Cow; +use std::mem::{size_of, size_of_val}; use byteorder::{BigEndian, ByteOrder}; use heed::{BoxedError, BytesDecode, BytesEncode}; diff --git a/crates/milli/src/update/upgrade/v1_12.rs b/crates/milli/src/update/upgrade/v1_12.rs index 4f76752d1..082896610 100644 --- a/crates/milli/src/update/upgrade/v1_12.rs +++ b/crates/milli/src/update/upgrade/v1_12.rs @@ -1,8 +1,7 @@ use heed::RwTxn; -use crate::{make_enum_progress, Result}; - -use crate::{progress::Progress, Index}; +use crate::progress::Progress; +use crate::{make_enum_progress, Index, Result}; // The field distribution was not computed correctly in the v1.12 until the v1.12.3 pub(super) fn v1_12_to_v1_12_3( From bf96fdb8585dfeab66093581d553135fb38cfbad Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 21 Jan 2025 16:53:36 +0100 Subject: [PATCH 12/36] update the cli url --- crates/meilisearch/src/option.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/meilisearch/src/option.rs b/crates/meilisearch/src/option.rs index 8403017c3..acf4393d3 100644 --- a/crates/meilisearch/src/option.rs +++ b/crates/meilisearch/src/option.rs @@ -401,7 +401,7 @@ pub struct Opt { #[serde(default)] pub experimental_logs_mode: LogMode, - /// Experimental dumpless upgrade. For more information, see: + /// Experimental dumpless upgrade. For more information, see: /// /// When set, Meilisearch will auto-update its database without using a dump. #[clap(long, env = MEILI_EXPERIMENTAL_DUMPLESS_UPGRADE, default_value_t)] From c6b4c21c23eb3354c3e2a79150533e6ac3f755c1 Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 21 Jan 2025 17:05:33 +0100 Subject: [PATCH 13/36] update the snapshots after the rebase --- crates/meilisearch/tests/upgrade/mod.rs | 4 ++-- .../v1_12_0.rs/check_the_index_features/kefir_settings.snap | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/crates/meilisearch/tests/upgrade/mod.rs b/crates/meilisearch/tests/upgrade/mod.rs index daa345169..83914220a 100644 --- a/crates/meilisearch/tests/upgrade/mod.rs +++ b/crates/meilisearch/tests/upgrade/mod.rs @@ -43,7 +43,7 @@ async fn version_too_old() { std::fs::write(db_path.join("VERSION"), "1.11.9999").unwrap(); let options = Opt { experimental_dumpless_upgrade: true, ..default_settings }; let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err(); - snapshot!(err, @"Database version 1.11.9999 is too old for the experimental dumpless upgrade feature. Please generate a dump using the v1.11.9999 and imports it in the v1.12.2"); + snapshot!(err, @"Database version 1.11.9999 is too old for the experimental dumpless upgrade feature. Please generate a dump using the v1.11.9999 and imports it in the v1.13.0"); } #[actix_rt::test] @@ -58,7 +58,7 @@ async fn version_requires_downgrade() { std::fs::write(db_path.join("VERSION"), format!("{major}.{minor}.{patch}")).unwrap(); let options = Opt { experimental_dumpless_upgrade: true, ..default_settings }; let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err(); - snapshot!(err, @"Database version 1.12.3 is higher than the binary version 1.12.2. Downgrade is not supported"); + snapshot!(err, @"Database version 1.13.1 is higher than the binary version 1.13.0. Downgrade is not supported"); } #[actix_rt::test] diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/kefir_settings.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/kefir_settings.snap index 5a9ea6247..e836fa4b3 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/kefir_settings.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/kefir_settings.snap @@ -61,6 +61,7 @@ snapshot_kind: text "pagination": { "maxTotalHits": 15 }, + "embedders": {}, "searchCutoffMs": 8000, "localizedAttributes": [ { From 7d95950ce6c3895e9fa2750f166f19dfc35f4d28 Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 21 Jan 2025 17:07:44 +0100 Subject: [PATCH 14/36] fix warning --- crates/index-scheduler/src/scheduler/process_dump_creation.rs | 2 +- crates/index-scheduler/src/scheduler/test_failure.rs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/crates/index-scheduler/src/scheduler/process_dump_creation.rs b/crates/index-scheduler/src/scheduler/process_dump_creation.rs index 20ff3b5b0..09c1020ac 100644 --- a/crates/index-scheduler/src/scheduler/process_dump_creation.rs +++ b/crates/index-scheduler/src/scheduler/process_dump_creation.rs @@ -106,7 +106,7 @@ impl IndexScheduler { progress.update_progress(DumpCreationProgress::DumpTheIndexes); let nb_indexes = self.index_mapper.index_mapping.len(&rtxn)? as u32; let mut count = 0; - self.index_mapper.try_for_each_index(&rtxn, |uid, index| -> Result<()> { + let () = self.index_mapper.try_for_each_index(&rtxn, |uid, index| -> Result<()> { progress.update_progress(VariableNameStep::::new( uid.to_string(), count, diff --git a/crates/index-scheduler/src/scheduler/test_failure.rs b/crates/index-scheduler/src/scheduler/test_failure.rs index 8e0c06331..8307e6aa7 100644 --- a/crates/index-scheduler/src/scheduler/test_failure.rs +++ b/crates/index-scheduler/src/scheduler/test_failure.rs @@ -11,7 +11,7 @@ use roaring::RoaringBitmap; use crate::insta_snapshot::snapshot_index_scheduler; use crate::test_utils::Breakpoint::*; -use crate::test_utils::{index_creation_task, read_json, Breakpoint, FailureLocation}; +use crate::test_utils::{index_creation_task, read_json, FailureLocation}; use crate::IndexScheduler; #[test] From 705d31e8bd2961ee6d107102d195f191ba587675 Mon Sep 17 00:00:00 2001 From: Tamo Date: Wed, 22 Jan 2025 14:30:14 +0100 Subject: [PATCH 15/36] apply all the comments changes --- crates/index-scheduler/src/scheduler/test_failure.rs | 2 +- crates/index-scheduler/src/upgrade/mod.rs | 4 ++-- crates/meilisearch/src/lib.rs | 2 +- crates/meilisearch/tests/upgrade/mod.rs | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/crates/index-scheduler/src/scheduler/test_failure.rs b/crates/index-scheduler/src/scheduler/test_failure.rs index 8307e6aa7..3b895ef2f 100644 --- a/crates/index-scheduler/src/scheduler/test_failure.rs +++ b/crates/index-scheduler/src/scheduler/test_failure.rs @@ -300,7 +300,7 @@ fn upgrade_failure() { handle.advance_one_successful_batch(); snapshot!(snapshot_index_scheduler(&index_scheduler), name: "after_processing_everything"); - // When deleting the single upgrade task it should remove the three associated batches + // When deleting the single upgrade task it should remove the associated batch let _task = index_scheduler .register( KindWithContent::TaskDeletion { diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index 981dc8eb8..989ed6ea5 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -25,11 +25,11 @@ pub fn upgrade_task_queue(tasks_path: &Path, from: (u32, u32, u32)) -> anyhow::R || (major == current_major && minor == current_minor && patch > current_patch) { bail!( - "Database version {major}.{minor}.{patch} is higher than the binary version {current_major}.{current_minor}.{current_patch}. Downgrade is not supported", + "Database version {major}.{minor}.{patch} is higher than the Meilisearch version {current_major}.{current_minor}.{current_patch}. Downgrade is not supported", ); } else if major < 1 || (major == current_major && minor < 12) { bail!( - "Database version {major}.{minor}.{patch} is too old for the experimental dumpless upgrade feature. Please generate a dump using the v{major}.{minor}.{patch} and imports it in the v{current_major}.{current_minor}.{current_patch}", + "Database version {major}.{minor}.{patch} is too old for the experimental dumpless upgrade feature. Please generate a dump using the v{major}.{minor}.{patch} and import it in the v{current_major}.{current_minor}.{current_patch}", ); } else { bail!("Unknown database version: v{major}.{minor}.{patch}"); diff --git a/crates/meilisearch/src/lib.rs b/crates/meilisearch/src/lib.rs index 4f513532b..f7ef01f97 100644 --- a/crates/meilisearch/src/lib.rs +++ b/crates/meilisearch/src/lib.rs @@ -339,7 +339,7 @@ fn open_or_create_database_unchecked( } } -/// Ensures Meilisearch version is compatible with the database, returns an error versions mismatch. +/// Ensures Meilisearch version is compatible with the database, returns an error in case of version mismatch. fn check_version_and_update_task_queue( db_path: &Path, experimental_dumpless_upgrade: bool, diff --git a/crates/meilisearch/tests/upgrade/mod.rs b/crates/meilisearch/tests/upgrade/mod.rs index 83914220a..f26d99402 100644 --- a/crates/meilisearch/tests/upgrade/mod.rs +++ b/crates/meilisearch/tests/upgrade/mod.rs @@ -43,7 +43,7 @@ async fn version_too_old() { std::fs::write(db_path.join("VERSION"), "1.11.9999").unwrap(); let options = Opt { experimental_dumpless_upgrade: true, ..default_settings }; let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err(); - snapshot!(err, @"Database version 1.11.9999 is too old for the experimental dumpless upgrade feature. Please generate a dump using the v1.11.9999 and imports it in the v1.13.0"); + snapshot!(err, @"Database version 1.11.9999 is too old for the experimental dumpless upgrade feature. Please generate a dump using the v1.11.9999 and import it in the v1.13.0"); } #[actix_rt::test] @@ -58,7 +58,7 @@ async fn version_requires_downgrade() { std::fs::write(db_path.join("VERSION"), format!("{major}.{minor}.{patch}")).unwrap(); let options = Opt { experimental_dumpless_upgrade: true, ..default_settings }; let err = Server::new_with_options(options).await.map(|_| ()).unwrap_err(); - snapshot!(err, @"Database version 1.13.1 is higher than the binary version 1.13.0. Downgrade is not supported"); + snapshot!(err, @"Database version 1.13.1 is higher than the Meilisearch version 1.13.0. Downgrade is not supported"); } #[actix_rt::test] From e41ebd3047fabe57537324c92cf36f74744a2aec Mon Sep 17 00:00:00 2001 From: Tamo Date: Wed, 22 Jan 2025 15:23:07 +0100 Subject: [PATCH 16/36] expose the number of database in the index-scheduler and rewrite the lib.rs to use the value provided in the options instead of a magic number --- crates/index-scheduler/src/features.rs | 18 +++- .../index-scheduler/src/index_mapper/mod.rs | 17 +++- crates/index-scheduler/src/lib.rs | 6 +- crates/index-scheduler/src/queue/batches.rs | 6 ++ crates/index-scheduler/src/queue/mod.rs | 6 ++ crates/index-scheduler/src/queue/tasks.rs | 7 ++ crates/index-scheduler/src/upgrade/mod.rs | 15 ++-- crates/meilisearch/src/lib.rs | 84 ++++++++++--------- 8 files changed, 105 insertions(+), 54 deletions(-) diff --git a/crates/index-scheduler/src/features.rs b/crates/index-scheduler/src/features.rs index e29e52d44..80da67f3e 100644 --- a/crates/index-scheduler/src/features.rs +++ b/crates/index-scheduler/src/features.rs @@ -7,7 +7,12 @@ use meilisearch_types::heed::{Database, Env, RwTxn}; use crate::error::FeatureNotEnabledError; use crate::Result; -const EXPERIMENTAL_FEATURES: &str = "experimental-features"; +/// The number of database used by features +const NUMBER_OF_DATABASES: u32 = 1; +/// Database const names for the `FeatureData`. +mod db_name { + pub const EXPERIMENTAL_FEATURES: &str = "experimental-features"; +} #[derive(Clone)] pub(crate) struct FeatureData { @@ -84,14 +89,19 @@ impl RoFeatures { } impl FeatureData { + pub(crate) const fn nb_db() -> u32 { + NUMBER_OF_DATABASES + } + pub fn new(env: &Env, instance_features: InstanceTogglableFeatures) -> Result { let mut wtxn = env.write_txn()?; - let runtime_features_db = env.create_database(&mut wtxn, Some(EXPERIMENTAL_FEATURES))?; + let runtime_features_db = + env.create_database(&mut wtxn, Some(db_name::EXPERIMENTAL_FEATURES))?; wtxn.commit()?; let txn = env.read_txn()?; let persisted_features: RuntimeTogglableFeatures = - runtime_features_db.get(&txn, EXPERIMENTAL_FEATURES)?.unwrap_or_default(); + runtime_features_db.get(&txn, db_name::EXPERIMENTAL_FEATURES)?.unwrap_or_default(); let InstanceTogglableFeatures { metrics, logs_route, contains_filter } = instance_features; let runtime = Arc::new(RwLock::new(RuntimeTogglableFeatures { metrics: metrics || persisted_features.metrics, @@ -108,7 +118,7 @@ impl FeatureData { mut wtxn: RwTxn, features: RuntimeTogglableFeatures, ) -> Result<()> { - self.persisted.put(&mut wtxn, EXPERIMENTAL_FEATURES, &features)?; + self.persisted.put(&mut wtxn, db_name::EXPERIMENTAL_FEATURES, &features)?; wtxn.commit()?; // safe to unwrap, the lock will only fail if: diff --git a/crates/index-scheduler/src/index_mapper/mod.rs b/crates/index-scheduler/src/index_mapper/mod.rs index 77cccf9b1..cc5e616ed 100644 --- a/crates/index-scheduler/src/index_mapper/mod.rs +++ b/crates/index-scheduler/src/index_mapper/mod.rs @@ -20,8 +20,13 @@ use crate::{Error, IndexBudget, IndexSchedulerOptions, Result}; mod index_map; -const INDEX_MAPPING: &str = "index-mapping"; -const INDEX_STATS: &str = "index-stats"; +/// The number of database used by index mapper +const NUMBER_OF_DATABASES: u32 = 2; +/// Database const names for the `IndexMapper`. +mod db_name { + pub const INDEX_MAPPING: &str = "index-mapping"; + pub const INDEX_STATS: &str = "index-stats"; +} /// Structure managing meilisearch's indexes. /// @@ -138,6 +143,10 @@ impl IndexStats { } impl IndexMapper { + pub(crate) const fn nb_db() -> u32 { + NUMBER_OF_DATABASES + } + pub fn new( env: &Env, wtxn: &mut RwTxn, @@ -146,8 +155,8 @@ impl IndexMapper { ) -> Result { Ok(Self { index_map: Arc::new(RwLock::new(IndexMap::new(budget.index_count))), - index_mapping: env.create_database(wtxn, Some(INDEX_MAPPING))?, - index_stats: env.create_database(wtxn, Some(INDEX_STATS))?, + index_mapping: env.create_database(wtxn, Some(db_name::INDEX_MAPPING))?, + index_stats: env.create_database(wtxn, Some(db_name::INDEX_STATS))?, base_path: options.indexes_path.clone(), index_base_map_size: budget.map_size, index_growth_amount: options.index_growth_amount, diff --git a/crates/index-scheduler/src/lib.rs b/crates/index-scheduler/src/lib.rs index b423c47d4..2c7b3e075 100644 --- a/crates/index-scheduler/src/lib.rs +++ b/crates/index-scheduler/src/lib.rs @@ -197,6 +197,10 @@ impl IndexScheduler { } } + pub(crate) const fn nb_db() -> u32 { + Queue::nb_db() + IndexMapper::nb_db() + features::FeatureData::nb_db() + } + /// Create an index scheduler and start its run loop. #[allow(private_interfaces)] // because test_utils is private pub fn new( @@ -232,7 +236,7 @@ impl IndexScheduler { let env = unsafe { heed::EnvOpenOptions::new() - .max_dbs(19) + .max_dbs(Self::nb_db()) .map_size(budget.task_db_size) .open(&options.tasks_path) }?; diff --git a/crates/index-scheduler/src/queue/batches.rs b/crates/index-scheduler/src/queue/batches.rs index b45524786..b77602e1e 100644 --- a/crates/index-scheduler/src/queue/batches.rs +++ b/crates/index-scheduler/src/queue/batches.rs @@ -17,6 +17,8 @@ use crate::utils::{ }; use crate::{Error, Result, BEI128}; +/// The number of database used by the batch queue +const NUMBER_OF_DATABASES: u32 = 7; /// Database const names for the `IndexScheduler`. mod db_name { pub const ALL_BATCHES: &str = "all-batches"; @@ -60,6 +62,10 @@ impl BatchQueue { } } + pub(crate) const fn nb_db() -> u32 { + NUMBER_OF_DATABASES + } + pub(super) fn new(env: &Env, wtxn: &mut RwTxn) -> Result { Ok(Self { all_batches: env.create_database(wtxn, Some(db_name::ALL_BATCHES))?, diff --git a/crates/index-scheduler/src/queue/mod.rs b/crates/index-scheduler/src/queue/mod.rs index f97218a21..c6a79fbb2 100644 --- a/crates/index-scheduler/src/queue/mod.rs +++ b/crates/index-scheduler/src/queue/mod.rs @@ -28,6 +28,8 @@ use crate::utils::{ }; use crate::{Error, IndexSchedulerOptions, Result, TaskId}; +/// The number of database used by queue itself +const NUMBER_OF_DATABASES: u32 = 1; /// Database const names for the `IndexScheduler`. mod db_name { pub const BATCH_TO_TASKS_MAPPING: &str = "batch-to-tasks-mapping"; @@ -148,6 +150,10 @@ impl Queue { } } + pub(crate) const fn nb_db() -> u32 { + tasks::TaskQueue::nb_db() + batches::BatchQueue::nb_db() + NUMBER_OF_DATABASES + } + /// Create an index scheduler and start its run loop. pub(crate) fn new( env: &Env, diff --git a/crates/index-scheduler/src/queue/tasks.rs b/crates/index-scheduler/src/queue/tasks.rs index 00e745e71..913ebcb30 100644 --- a/crates/index-scheduler/src/queue/tasks.rs +++ b/crates/index-scheduler/src/queue/tasks.rs @@ -14,9 +14,12 @@ use crate::utils::{ }; use crate::{Error, Result, TaskId, BEI128}; +/// The number of database used by the task queue +const NUMBER_OF_DATABASES: u32 = 8; /// Database const names for the `IndexScheduler`. mod db_name { pub const ALL_TASKS: &str = "all-tasks"; + pub const STATUS: &str = "status"; pub const KIND: &str = "kind"; pub const INDEX_TASKS: &str = "index-tasks"; @@ -61,6 +64,10 @@ impl TaskQueue { } } + pub(crate) const fn nb_db() -> u32 { + NUMBER_OF_DATABASES + } + pub(crate) fn new(env: &Env, wtxn: &mut RwTxn) -> Result { Ok(Self { all_tasks: env.create_database(wtxn, Some(db_name::ALL_TASKS))?, diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index 989ed6ea5..6881b8b73 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -8,8 +8,12 @@ use time::OffsetDateTime; use tracing::info; use crate::queue::TaskQueue; +use crate::IndexSchedulerOptions; -pub fn upgrade_task_queue(tasks_path: &Path, from: (u32, u32, u32)) -> anyhow::Result<()> { +pub fn upgrade_task_queue( + opt: &IndexSchedulerOptions, + from: (u32, u32, u32), +) -> anyhow::Result<()> { let current_major: u32 = VERSION_MAJOR.parse().unwrap(); let current_minor: u32 = VERSION_MINOR.parse().unwrap(); let current_patch: u32 = VERSION_PATCH.parse().unwrap(); @@ -40,15 +44,14 @@ pub fn upgrade_task_queue(tasks_path: &Path, from: (u32, u32, u32)) -> anyhow::R info!("Upgrading the task queue"); for (upgrade, upgrade_name) in upgrade_functions[start..].iter() { info!("{upgrade_name}"); - (upgrade)(tasks_path)?; + (upgrade)(&opt.tasks_path)?; } let env = unsafe { heed::EnvOpenOptions::new() - .max_dbs(19) - // Since that's the only database memory-mapped currently we don't need to check the budget yet - .map_size(100 * 1024 * 1024) - .open(tasks_path) + .max_dbs(TaskQueue::nb_db()) + .map_size(opt.task_db_size) + .open(&opt.tasks_path) }?; let mut wtxn = env.write_txn()?; let queue = TaskQueue::new(&env, &mut wtxn)?; diff --git a/crates/meilisearch/src/lib.rs b/crates/meilisearch/src/lib.rs index f7ef01f97..ef270670b 100644 --- a/crates/meilisearch/src/lib.rs +++ b/crates/meilisearch/src/lib.rs @@ -210,13 +210,42 @@ enum OnFailure { } pub fn setup_meilisearch(opt: &Opt) -> anyhow::Result<(Arc, Arc)> { + let index_scheduler_opt = IndexSchedulerOptions { + version_file_path: opt.db_path.join(VERSION_FILE_NAME), + auth_path: opt.db_path.join("auth"), + tasks_path: opt.db_path.join("tasks"), + update_file_path: opt.db_path.join("update_files"), + indexes_path: opt.db_path.join("indexes"), + snapshots_path: opt.snapshot_dir.clone(), + dumps_path: opt.dump_dir.clone(), + webhook_url: opt.task_webhook_url.as_ref().map(|url| url.to_string()), + webhook_authorization_header: opt.task_webhook_authorization_header.clone(), + task_db_size: opt.max_task_db_size.as_u64() as usize, + index_base_map_size: opt.max_index_size.as_u64() as usize, + enable_mdb_writemap: opt.experimental_reduce_indexing_memory_usage, + indexer_config: Arc::new((&opt.indexer_options).try_into()?), + autobatching_enabled: true, + cleanup_enabled: !opt.experimental_replication_parameters, + max_number_of_tasks: 1_000_000, + max_number_of_batched_tasks: opt.experimental_max_number_of_batched_tasks, + batched_tasks_size_limit: opt.experimental_limit_batched_tasks_total_size, + index_growth_amount: byte_unit::Byte::from_str("10GiB").unwrap().as_u64() as usize, + index_count: DEFAULT_INDEX_COUNT, + instance_features: opt.to_instance_features(), + auto_upgrade: opt.experimental_dumpless_upgrade, + }; + let empty_db = is_empty_db(&opt.db_path); let (index_scheduler, auth_controller) = if let Some(ref snapshot_path) = opt.import_snapshot { let snapshot_path_exists = snapshot_path.exists(); // the db is empty and the snapshot exists, import it if empty_db && snapshot_path_exists { match compression::from_tar_gz(snapshot_path, &opt.db_path) { - Ok(()) => open_or_create_database_unchecked(opt, OnFailure::RemoveDb)?, + Ok(()) => open_or_create_database_unchecked( + opt, + index_scheduler_opt, + OnFailure::RemoveDb, + )?, Err(e) => { std::fs::remove_dir_all(&opt.db_path)?; return Err(e); @@ -233,14 +262,14 @@ pub fn setup_meilisearch(opt: &Opt) -> anyhow::Result<(Arc, Arc< bail!("snapshot doesn't exist at {}", snapshot_path.display()) // the snapshot and the db exist, and we can ignore the snapshot because of the ignore_snapshot_if_db_exists flag } else { - open_or_create_database(opt, empty_db)? + open_or_create_database(opt, index_scheduler_opt, empty_db)? } } else if let Some(ref path) = opt.import_dump { let src_path_exists = path.exists(); // the db is empty and the dump exists, import it if empty_db && src_path_exists { let (mut index_scheduler, mut auth_controller) = - open_or_create_database_unchecked(opt, OnFailure::RemoveDb)?; + open_or_create_database_unchecked(opt, index_scheduler_opt, OnFailure::RemoveDb)?; match import_dump(&opt.db_path, path, &mut index_scheduler, &mut auth_controller) { Ok(()) => (index_scheduler, auth_controller), Err(e) => { @@ -260,10 +289,10 @@ pub fn setup_meilisearch(opt: &Opt) -> anyhow::Result<(Arc, Arc< // the dump and the db exist and we can ignore the dump because of the ignore_dump_if_db_exists flag // or, the dump is missing but we can ignore that because of the ignore_missing_dump flag } else { - open_or_create_database(opt, empty_db)? + open_or_create_database(opt, index_scheduler_opt, empty_db)? } } else { - open_or_create_database(opt, empty_db)? + open_or_create_database(opt, index_scheduler_opt, empty_db)? }; // We create a loop in a thread that registers snapshotCreation tasks @@ -291,38 +320,14 @@ pub fn setup_meilisearch(opt: &Opt) -> anyhow::Result<(Arc, Arc< /// Try to start the IndexScheduler and AuthController without checking the VERSION file or anything. fn open_or_create_database_unchecked( opt: &Opt, + index_scheduler_opt: IndexSchedulerOptions, on_failure: OnFailure, ) -> anyhow::Result<(IndexScheduler, AuthController)> { // we don't want to create anything in the data.ms yet, thus we // wrap our two builders in a closure that'll be executed later. let auth_controller = AuthController::new(&opt.db_path, &opt.master_key); - let instance_features = opt.to_instance_features(); - let index_scheduler_builder = || -> anyhow::Result<_> { - Ok(IndexScheduler::new(IndexSchedulerOptions { - version_file_path: opt.db_path.join(VERSION_FILE_NAME), - auth_path: opt.db_path.join("auth"), - tasks_path: opt.db_path.join("tasks"), - update_file_path: opt.db_path.join("update_files"), - indexes_path: opt.db_path.join("indexes"), - snapshots_path: opt.snapshot_dir.clone(), - dumps_path: opt.dump_dir.clone(), - webhook_url: opt.task_webhook_url.as_ref().map(|url| url.to_string()), - webhook_authorization_header: opt.task_webhook_authorization_header.clone(), - task_db_size: opt.max_task_db_size.as_u64() as usize, - index_base_map_size: opt.max_index_size.as_u64() as usize, - enable_mdb_writemap: opt.experimental_reduce_indexing_memory_usage, - indexer_config: Arc::new((&opt.indexer_options).try_into()?), - autobatching_enabled: true, - cleanup_enabled: !opt.experimental_replication_parameters, - max_number_of_tasks: 1_000_000, - max_number_of_batched_tasks: opt.experimental_max_number_of_batched_tasks, - batched_tasks_size_limit: opt.experimental_limit_batched_tasks_total_size, - index_growth_amount: byte_unit::Byte::from_str("10GiB").unwrap().as_u64() as usize, - index_count: DEFAULT_INDEX_COUNT, - instance_features, - auto_upgrade: opt.experimental_dumpless_upgrade, - })?) - }; + let index_scheduler_builder = + || -> anyhow::Result<_> { Ok(IndexScheduler::new(index_scheduler_opt)?) }; match ( index_scheduler_builder(), @@ -341,18 +346,18 @@ fn open_or_create_database_unchecked( /// Ensures Meilisearch version is compatible with the database, returns an error in case of version mismatch. fn check_version_and_update_task_queue( - db_path: &Path, - experimental_dumpless_upgrade: bool, + opt: &Opt, + index_scheduler_opt: &IndexSchedulerOptions, ) -> anyhow::Result<()> { - let (major, minor, patch) = get_version(db_path)?; + let (major, minor, patch) = get_version(&opt.db_path)?; let version_major: u32 = VERSION_MAJOR.parse().unwrap(); let version_minor: u32 = VERSION_MINOR.parse().unwrap(); let version_patch: u32 = VERSION_PATCH.parse().unwrap(); if major != version_major || minor != version_minor || patch > version_patch { - if experimental_dumpless_upgrade { - return upgrade_task_queue(&db_path.join("tasks"), (major, minor, patch)); + if opt.experimental_dumpless_upgrade { + return upgrade_task_queue(index_scheduler_opt, (major, minor, patch)); } else { return Err(VersionFileError::VersionMismatch { major, minor, patch }.into()); } @@ -364,13 +369,14 @@ fn check_version_and_update_task_queue( /// Ensure you're in a valid state and open the IndexScheduler + AuthController for you. fn open_or_create_database( opt: &Opt, + index_scheduler_opt: IndexSchedulerOptions, empty_db: bool, ) -> anyhow::Result<(IndexScheduler, AuthController)> { if !empty_db { - check_version_and_update_task_queue(&opt.db_path, opt.experimental_dumpless_upgrade)?; + check_version_and_update_task_queue(opt, &index_scheduler_opt)?; } - open_or_create_database_unchecked(opt, OnFailure::KeepDb) + open_or_create_database_unchecked(opt, index_scheduler_opt, OnFailure::KeepDb) } fn import_dump( From b132d70413f814bfe11f9e92db2536da1a9ccd69 Mon Sep 17 00:00:00 2001 From: Tamo Date: Wed, 22 Jan 2025 15:58:39 +0100 Subject: [PATCH 17/36] fix the details in all cases --- .../after_processing_everything.snap | 4 ++-- .../registered_a_task_and_upgrade_task.snap | 2 +- .../upgrade_failure/upgrade_task_failed.snap | 4 ++-- .../upgrade_task_failed_again.snap | 4 ++-- .../upgrade_task_succeeded.snap | 4 ++-- crates/index-scheduler/src/upgrade/mod.rs | 4 ++-- crates/meilisearch-types/src/tasks.rs | 14 ++++++++++---- crates/meilisearch/db.snapshot | Bin 0 -> 171403 bytes ...erEnqueuedAt_equal_2025-01-16T16:47:41.snap | 4 +++- ...erFinishedAt_equal_2025-01-16T16:47:41.snap | 4 +++- ...terStartedAt_equal_2025-01-16T16:47:41.snap | 4 +++- ...erEnqueuedAt_equal_2025-01-16T16:47:41.snap | 3 +++ ...erFinishedAt_equal_2025-01-16T16:47:41.snap | 3 +++ ...terStartedAt_equal_2025-01-16T16:47:41.snap | 3 +++ ...eue_once_everything_has_been_processed.snap | 4 +++- ...eue_once_everything_has_been_processed.snap | 3 +++ 16 files changed, 45 insertions(+), 19 deletions(-) create mode 100644 crates/meilisearch/db.snapshot diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap index 8bc094207..7b4775704 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap @@ -8,7 +8,7 @@ snapshot_kind: text ---------------------------------------------------------------------- ### All Tasks: 0 {uid: 0, batch_uid: 1, status: succeeded, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 0, status: succeeded, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, batch_uid: 0, status: succeeded, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} 2 {uid: 2, batch_uid: 2, status: succeeded, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} 3 {uid: 3, batch_uid: 3, status: failed, error: ResponseError { code: 200, message: "Index `doggo` already exists.", error_code: "index_already_exists", error_type: "invalid_request", error_link: "https://docs.meilisearch.com/errors#index_already_exists" }, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} 4 {uid: 4, batch_uid: 4, status: succeeded, details: { primary_key: Some("leaves") }, kind: IndexCreation { index_uid: "girafo", primary_key: Some("leaves") }} @@ -58,7 +58,7 @@ girafo: { number_of_documents: 0, field_distribution: {} } [timestamp] [4,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +0 {uid: 0, details: {"upgradeFrom":"v1.12.0"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } 1 {uid: 1, details: {"primaryKey":"mouse"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"catto":1}}, } 2 {uid: 2, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } 3 {uid: 3, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap index 2294e7845..ca4892f85 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap @@ -8,7 +8,7 @@ snapshot_kind: text ---------------------------------------------------------------------- ### All Tasks: 0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, status: enqueued, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, status: enqueued, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} ---------------------------------------------------------------------- ### Status: enqueued [0,1,] diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap index 0ec4f1057..6294cbbc3 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap @@ -8,7 +8,7 @@ snapshot_kind: text ---------------------------------------------------------------------- ### All Tasks: 0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} ---------------------------------------------------------------------- ### Status: enqueued [0,] @@ -38,7 +38,7 @@ catto [0,] [timestamp] [1,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +0 {uid: 0, details: {"upgradeFrom":"v1.12.0"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: 0 [1,] diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap index 466302907..91e6b80f2 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap @@ -8,7 +8,7 @@ snapshot_kind: text ---------------------------------------------------------------------- ### All Tasks: 0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} 2 {uid: 2, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} ---------------------------------------------------------------------- ### Status: @@ -41,7 +41,7 @@ doggo [2,] [timestamp] [1,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +0 {uid: 0, details: {"upgradeFrom":"v1.12.0"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: 0 [1,] diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap index bdc309153..940e68be0 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap @@ -8,7 +8,7 @@ snapshot_kind: text ---------------------------------------------------------------------- ### All Tasks: 0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 0, status: succeeded, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, batch_uid: 0, status: succeeded, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} 2 {uid: 2, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} 3 {uid: 3, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} ---------------------------------------------------------------------- @@ -44,7 +44,7 @@ doggo [2,3,] [timestamp] [1,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +0 {uid: 0, details: {"upgradeFrom":"v1.12.0"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: 0 [1,] diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index 6881b8b73..db4a9352a 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -2,7 +2,7 @@ use std::path::Path; use anyhow::bail; use meilisearch_types::heed; -use meilisearch_types::tasks::{KindWithContent, Status, Task}; +use meilisearch_types::tasks::{Details, KindWithContent, Status, Task}; use meilisearch_types::versioning::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}; use time::OffsetDateTime; use tracing::info; @@ -66,7 +66,7 @@ pub fn upgrade_task_queue( finished_at: None, error: None, canceled_by: None, - details: None, + details: Some(Details::UpgradeDatabase { from }), status: Status::Enqueued, kind: KindWithContent::UpgradeDatabase { from }, }, diff --git a/crates/meilisearch-types/src/tasks.rs b/crates/meilisearch-types/src/tasks.rs index 265abb8c3..b798cacdb 100644 --- a/crates/meilisearch-types/src/tasks.rs +++ b/crates/meilisearch-types/src/tasks.rs @@ -269,7 +269,9 @@ impl KindWithContent { }), KindWithContent::DumpCreation { .. } => Some(Details::Dump { dump_uid: None }), KindWithContent::SnapshotCreation => None, - KindWithContent::UpgradeDatabase { .. } => None, + KindWithContent::UpgradeDatabase { from } => { + Some(Details::UpgradeDatabase { from: (from.0, from.1, from.2) }) + } } } @@ -328,7 +330,9 @@ impl KindWithContent { }), KindWithContent::DumpCreation { .. } => Some(Details::Dump { dump_uid: None }), KindWithContent::SnapshotCreation => None, - KindWithContent::UpgradeDatabase { .. } => None, + KindWithContent::UpgradeDatabase { from } => { + Some(Details::UpgradeDatabase { from: *from }) + } } } } @@ -369,7 +373,9 @@ impl From<&KindWithContent> for Option
{ }), KindWithContent::DumpCreation { .. } => Some(Details::Dump { dump_uid: None }), KindWithContent::SnapshotCreation => None, - KindWithContent::UpgradeDatabase { .. } => None, + KindWithContent::UpgradeDatabase { from } => { + Some(Details::UpgradeDatabase { from: *from }) + } } } } @@ -623,7 +629,7 @@ pub enum Details { swaps: Vec, }, UpgradeDatabase { - from: (usize, usize, usize), + from: (u32, u32, u32), }, } diff --git a/crates/meilisearch/db.snapshot b/crates/meilisearch/db.snapshot new file mode 100644 index 0000000000000000000000000000000000000000..1917a2e7b7334c4f1656b704ed055706c9cbdc63 GIT binary patch literal 171403 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 z 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%0Dgts2bH^V1IR& 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≶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

b;|5>eQ z377ZDWyPoLC^0t>GsKr^2ma{z0(Z^LonEJ?l+v?Zi!Xo)1w2#pBZ@b0H|F40t=peJAZ5wSxMd`fS56tTVl+ zB&bL7=hA=3V!Rqx1kHpbvCHylEj&o7H4-~8JhA1H$-P=0b<;c5&okI7_35qJtygHK z#@rjfC&drgoT2_pxIx(oDDi4@Fe^cqW3aiY&U(fyb^^s?h~B$x zfa|zTzi0qYs0`}&%YAZdpzL!>7xK+@U(7pk$y@f^qhAJRVWf}`xpdS8o;4-i`F31i z5kFdr^sMb4`a}(q7{4rWG_P)}b_j0oRXJ#~?JTP>(PhK!^tdIL0yz+-e2u(#XYrGZ zrlK8eh)D} z$zlxo@vbXzk?ncnd>Ygn+Cooj9(nFVjEcW;8mgOJcz=pV0wNaDEKtL3+;fZQPIMO^ zvKh|p)M~U2!20F+5$Lg#PHQeqwNMQ8^+s8_8DzP)5K}0NKDeCGG5a6M61DwLkjd|o zZ=kK9w(BoPx%Klj<{Q8c9IND2#6X))8s)Ria``ZRBnV$-+{w#okEHrNCC6e_X8SxG z!fg7MLpjm3g^!`j_@I`ivY7UPF9wN0pW-VenE=6#T7lPu8g&h9e?%4Q5>3AaR4TDh zT9n)+a3SZg%@=(~1Pbfw4OfNfGG3#N-eUKvZKPWO`@9JZ5Pyh?2rK28e`d}D~LS{SuJ zhSzJ&TjTNdRvIPg8wlTLJB!kY5Hmn;!5yVuyb_WhEQ@!*&ria`%02;oSq~#N&2e7{^)BDAHD=UR}sV+;G_J&oKD~r{L2Jt?FQWDRBBV( za{+-(@_IAnvMpoappufVhOX|d6WK?_a_C7(tw#qf8AqJh*H5P!Q+A^ONmdnvZ>|F6 z0vW6gpmX+DX53}D!QmFmeTpn(3D z{d+lwcz3O1MswcX;q9+GH$nnWfA47h+c(H^nPBJ~EC?rX6(~l$by&<65nI57K(S+U zn?y!20ta>UClweH`dA{2E}$TXWje5Y+a22%c+92~%64IcsSGZ3WsldC>&u_*(;l8W zRt%j)V) zFfmOqO|*K~INw_e;oRCk5n%aZ=G_!-dEvFzz^cM>5Q&OQQ6RJ+cFEzyxVhj_h2UV8 zl|z-ih)DMPpXHLgdOSTX^L>Iu`kAk#g*YSZIyY(Ango~! zW>{e+`e^8#vBE?VJWd`|6Q6*tx8Nn9K`H=Pzu>4-%>>e1FuB+s z{&w}KR7SHv=fTdlP62N7e=+_8>x++fVzUeP;! z0D&q#zG5F?#i;tpjlW5bcA0+-RTATLOL*wEbgelsKEzFkqvg8+Hu!E= z0<2{NYltu7JupDcq17MclPOV!^WSa;0*To?qlAs;Xw0ylSv8nmn)6|Puiw#?V7gM8D|%H{>(F180^d13*BgTgwOgVll-@(8T-we<%v zw{0{XmK%+_dYd=rt^@w~N=mtnul5X@MjXd{_f{1Huc(VCAG|KM8;yO*RIb{qU`CWJ z96|gD5on&}b zTxDRU8?1YP5{KoFrQ67I?8VsSGM%xI0cf@J!(HPVqEUEr62Q$sxYmg6%pOYN5&ENfR^8-{XTP1?JRCtsz|<8r zSG16tuv6kc&Vc{r>i9uWW0TwY6NuzQ;{LZo(cKTO|Bd|QXMr_`>gfn$;1`U9J0;Q) zDe*)HWfrjEn^ks~@dN&0Z1N=lq9(*4x185>UyMvohXzcTgcVU7`ja%UcF+;kz3`|N@8F$EVwPtq zG02%CmOLwQm6rHjlx8=-Aw?BYG>L}iJuPloX`K1681xjiW@cVw)d zAO}`G)H>0BDMv#Bp1@cte3pcsH($AYA-QNkRDRM>c+ryi>37VRR5%`W76 z*d1&`g+@ Date: Wed, 22 Jan 2025 16:12:08 +0100 Subject: [PATCH 18/36] improve the index-scheduler tests --- crates/index-scheduler/src/test_utils.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/crates/index-scheduler/src/test_utils.rs b/crates/index-scheduler/src/test_utils.rs index a63825104..a6d29e2ea 100644 --- a/crates/index-scheduler/src/test_utils.rs +++ b/crates/index-scheduler/src/test_utils.rs @@ -239,16 +239,22 @@ impl IndexSchedulerHandle { drop(index_scheduler); let Self { _tempdir: tempdir, index_scheduler, test_breakpoint_rcv, last_breakpoint: _ } = self; + let env = index_scheduler.env.clone(); drop(index_scheduler); // We must ensure that the `run` function has stopped running before restarting the index scheduler loop { match test_breakpoint_rcv.recv_timeout(Duration::from_secs(5)) { - Ok(_) => continue, + Ok((_, true)) => continue, + Ok((b, false)) => { + panic!("Scheduler is not stopped and passed {b:?}") + } Err(RecvTimeoutError::Timeout) => panic!("The indexing loop is stuck somewhere"), Err(RecvTimeoutError::Disconnected) => break, } } + let closed = env.prepare_for_closing().wait_timeout(Duration::from_secs(5)); + assert!(closed, "The index scheduler couldn't close itself, it seems like someone else is holding the env somewhere"); let (scheduler, mut handle) = IndexScheduler::test_with_custom_config(planned_failures, |config| { From d4d82fbd0c6fb1ac25436792580182ccc882f80a Mon Sep 17 00:00:00 2001 From: Tamo Date: Wed, 22 Jan 2025 16:21:00 +0100 Subject: [PATCH 19/36] commit the index wtxn before the index-scheduler wtxn --- .../src/scheduler/process_upgrade/mod.rs | 16 ++++++++++------ crates/index-scheduler/src/test_utils.rs | 3 ++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs index 319b7b594..78ea0ba1b 100644 --- a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs +++ b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs @@ -21,18 +21,22 @@ impl IndexScheduler { indexes.len() as u32, )); let index = self.index(uid)?; - let mut wtxn = index.write_txn()?; - let regen_stats = milli::update::upgrade::upgrade(&mut wtxn, &index, progress.clone()) - .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; - if regen_stats { - let stats = crate::index_mapper::IndexStats::new(&index, &wtxn) + let mut index_wtxn = index.write_txn()?; + let regen_stats = + milli::update::upgrade::upgrade(&mut index_wtxn, &index, progress.clone()) .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; + if regen_stats { + let stats = crate::index_mapper::IndexStats::new(&index, &index_wtxn) + .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; + index_wtxn.commit()?; + // Release wtxn as soon as possible because it stops us from registering tasks let mut index_schd_wtxn = self.env.write_txn()?; self.index_mapper.store_stats_of(&mut index_schd_wtxn, uid, &stats)?; index_schd_wtxn.commit()?; + } else { + index_wtxn.commit()?; } - wtxn.commit()?; } Ok(()) diff --git a/crates/index-scheduler/src/test_utils.rs b/crates/index-scheduler/src/test_utils.rs index a6d29e2ea..024d56622 100644 --- a/crates/index-scheduler/src/test_utils.rs +++ b/crates/index-scheduler/src/test_utils.rs @@ -406,7 +406,8 @@ impl IndexSchedulerHandle { .recv_timeout(std::time::Duration::from_secs(1)) { Ok((_, true)) => continue, Ok((b, false)) => panic!("The scheduler was supposed to be down but successfully moved to the next breakpoint: {b:?}"), - Err(RecvTimeoutError::Timeout | RecvTimeoutError::Disconnected) => break, + Err(RecvTimeoutError::Timeout) => panic!(), + Err(RecvTimeoutError::Disconnected) => break, } } } From 27bf2f1298ecdf27fe08e7d24ae3b6dabcc67353 Mon Sep 17 00:00:00 2001 From: Tamo Date: Wed, 22 Jan 2025 16:22:57 +0100 Subject: [PATCH 20/36] remove the empty progress made for the upgrade database --- crates/index-scheduler/src/processing.rs | 6 ------ crates/index-scheduler/src/scheduler/process_upgrade/mod.rs | 3 --- 2 files changed, 9 deletions(-) diff --git a/crates/index-scheduler/src/processing.rs b/crates/index-scheduler/src/processing.rs index 4073611ea..58f01c770 100644 --- a/crates/index-scheduler/src/processing.rs +++ b/crates/index-scheduler/src/processing.rs @@ -127,12 +127,6 @@ make_enum_progress! { } } -make_enum_progress! { - pub enum UpgradeDatabaseProgress { - EnsuringCorrectnessOfTheSwap, - } -} - make_enum_progress! { pub enum InnerSwappingTwoIndexes { RetrieveTheTasks, diff --git a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs index 78ea0ba1b..1195f14ba 100644 --- a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs +++ b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs @@ -1,13 +1,10 @@ use meilisearch_types::milli; use meilisearch_types::milli::progress::{Progress, VariableNameStep}; -use crate::processing::UpgradeDatabaseProgress; use crate::{Error, IndexScheduler, Result}; impl IndexScheduler { pub(super) fn process_upgrade(&self, progress: Progress) -> Result<()> { - progress.update_progress(UpgradeDatabaseProgress::EnsuringCorrectnessOfTheSwap); - #[cfg(test)] self.maybe_fail(crate::test_utils::FailureLocation::ProcessUpgrade)?; From b9e9fc376ab726194961f12eddc5cea73660b982 Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 23 Jan 2025 00:25:39 +0100 Subject: [PATCH 21/36] add the version in the index-scheduler --- crates/index-scheduler/src/features.rs | 13 ++-- crates/index-scheduler/src/insta_snapshot.rs | 1 + crates/index-scheduler/src/lib.rs | 20 ++++-- crates/index-scheduler/src/test_utils.rs | 13 ++-- crates/index-scheduler/src/upgrade/mod.rs | 74 +++++++++++++------- crates/index-scheduler/src/versioning.rs | 61 ++++++++++++++++ crates/meilisearch-types/src/versioning.rs | 34 +++++++++ crates/meilisearch/src/lib.rs | 63 ++++++++++------- 8 files changed, 212 insertions(+), 67 deletions(-) create mode 100644 crates/index-scheduler/src/versioning.rs diff --git a/crates/index-scheduler/src/features.rs b/crates/index-scheduler/src/features.rs index 80da67f3e..c6c17b2d5 100644 --- a/crates/index-scheduler/src/features.rs +++ b/crates/index-scheduler/src/features.rs @@ -93,15 +93,16 @@ impl FeatureData { NUMBER_OF_DATABASES } - pub fn new(env: &Env, instance_features: InstanceTogglableFeatures) -> Result { - let mut wtxn = env.write_txn()?; + pub fn new( + env: &Env, + wtxn: &mut RwTxn, + instance_features: InstanceTogglableFeatures, + ) -> Result { let runtime_features_db = - env.create_database(&mut wtxn, Some(db_name::EXPERIMENTAL_FEATURES))?; - wtxn.commit()?; + env.create_database(wtxn, Some(db_name::EXPERIMENTAL_FEATURES))?; - let txn = env.read_txn()?; let persisted_features: RuntimeTogglableFeatures = - runtime_features_db.get(&txn, db_name::EXPERIMENTAL_FEATURES)?.unwrap_or_default(); + runtime_features_db.get(wtxn, db_name::EXPERIMENTAL_FEATURES)?.unwrap_or_default(); let InstanceTogglableFeatures { metrics, logs_route, contains_filter } = instance_features; let runtime = Arc::new(RwLock::new(RuntimeTogglableFeatures { metrics: metrics || persisted_features.metrics, diff --git a/crates/index-scheduler/src/insta_snapshot.rs b/crates/index-scheduler/src/insta_snapshot.rs index 3a9009504..db506e58e 100644 --- a/crates/index-scheduler/src/insta_snapshot.rs +++ b/crates/index-scheduler/src/insta_snapshot.rs @@ -21,6 +21,7 @@ pub fn snapshot_index_scheduler(scheduler: &IndexScheduler) -> String { cleanup_enabled: _, processing_tasks, env, + version: _, queue, scheduler, diff --git a/crates/index-scheduler/src/lib.rs b/crates/index-scheduler/src/lib.rs index 2c7b3e075..530b7bedc 100644 --- a/crates/index-scheduler/src/lib.rs +++ b/crates/index-scheduler/src/lib.rs @@ -33,6 +33,7 @@ mod test_utils; pub mod upgrade; mod utils; pub mod uuid_codec; +mod versioning; pub type Result = std::result::Result; pub type TaskId = u32; @@ -66,6 +67,7 @@ use queue::Queue; use roaring::RoaringBitmap; use scheduler::Scheduler; use time::OffsetDateTime; +use versioning::Versioning; use crate::index_mapper::IndexMapper; use crate::utils::clamp_to_page_size; @@ -134,17 +136,18 @@ pub struct IndexScheduler { /// The list of tasks currently processing pub(crate) processing_tasks: Arc>, + /// A database containing only the version of the index-scheduler + pub version: versioning::Versioning, /// The queue containing both the tasks and the batches. pub queue: queue::Queue, - - pub scheduler: scheduler::Scheduler, - /// In charge of creating, opening, storing and returning indexes. pub(crate) index_mapper: IndexMapper, - /// In charge of fetching and setting the status of experimental features. features: features::FeatureData, + /// Everything related to the processing of the tasks + pub scheduler: scheduler::Scheduler, + /// Whether we should automatically cleanup the task queue or not. pub(crate) cleanup_enabled: bool, @@ -179,6 +182,7 @@ impl IndexScheduler { IndexScheduler { env: self.env.clone(), processing_tasks: self.processing_tasks.clone(), + version: self.version.clone(), queue: self.queue.private_clone(), scheduler: self.scheduler.private_clone(), @@ -198,13 +202,14 @@ impl IndexScheduler { } pub(crate) const fn nb_db() -> u32 { - Queue::nb_db() + IndexMapper::nb_db() + features::FeatureData::nb_db() + Versioning::nb_db() + Queue::nb_db() + IndexMapper::nb_db() + features::FeatureData::nb_db() } /// Create an index scheduler and start its run loop. #[allow(private_interfaces)] // because test_utils is private pub fn new( options: IndexSchedulerOptions, + from_db_version: (u32, u32, u32), #[cfg(test)] test_breakpoint_sdr: crossbeam_channel::Sender<(test_utils::Breakpoint, bool)>, #[cfg(test)] planned_failures: Vec<(usize, test_utils::FailureLocation)>, ) -> Result { @@ -241,9 +246,11 @@ impl IndexScheduler { .open(&options.tasks_path) }?; - let features = features::FeatureData::new(&env, options.instance_features)?; + // We **must** starts by upgrading the version because it'll also upgrade the required database before we can open them + let version = versioning::Versioning::new(&env, from_db_version)?; let mut wtxn = env.write_txn()?; + let features = features::FeatureData::new(&env, &mut wtxn, options.instance_features)?; let queue = Queue::new(&env, &mut wtxn, &options)?; let index_mapper = IndexMapper::new(&env, &mut wtxn, &options, budget)?; wtxn.commit()?; @@ -251,6 +258,7 @@ impl IndexScheduler { // allow unreachable_code to get rids of the warning in the case of a test build. let this = Self { processing_tasks: Arc::new(RwLock::new(ProcessingTasks::new())), + version, queue, scheduler: Scheduler::new(&options), diff --git a/crates/index-scheduler/src/test_utils.rs b/crates/index-scheduler/src/test_utils.rs index 024d56622..b1e44e32c 100644 --- a/crates/index-scheduler/src/test_utils.rs +++ b/crates/index-scheduler/src/test_utils.rs @@ -9,7 +9,7 @@ use meilisearch_types::document_formats::DocumentFormatError; use meilisearch_types::milli::update::IndexDocumentsMethod::ReplaceDocuments; use meilisearch_types::milli::update::IndexerConfig; use meilisearch_types::tasks::KindWithContent; -use meilisearch_types::VERSION_FILE_NAME; +use meilisearch_types::{versioning, VERSION_FILE_NAME}; use tempfile::{NamedTempFile, TempDir}; use uuid::Uuid; use Breakpoint::*; @@ -113,7 +113,13 @@ impl IndexScheduler { }; configuration(&mut options); - let index_scheduler = Self::new(options, sender, planned_failures).unwrap(); + let version = ( + versioning::VERSION_MAJOR.parse().unwrap(), + versioning::VERSION_MINOR.parse().unwrap(), + versioning::VERSION_PATCH.parse().unwrap(), + ); + + let index_scheduler = Self::new(options, version, sender, planned_failures).unwrap(); // To be 100% consistent between all test we're going to start the scheduler right now // and ensure it's in the expected starting state. @@ -406,8 +412,7 @@ impl IndexSchedulerHandle { .recv_timeout(std::time::Duration::from_secs(1)) { Ok((_, true)) => continue, Ok((b, false)) => panic!("The scheduler was supposed to be down but successfully moved to the next breakpoint: {b:?}"), - Err(RecvTimeoutError::Timeout) => panic!(), - Err(RecvTimeoutError::Disconnected) => break, + Err(RecvTimeoutError::Timeout | RecvTimeoutError::Disconnected) => break, } } } diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index db4a9352a..ab124013d 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -1,25 +1,28 @@ -use std::path::Path; - use anyhow::bail; -use meilisearch_types::heed; +use meilisearch_types::heed::{Env, RwTxn}; use meilisearch_types::tasks::{Details, KindWithContent, Status, Task}; use meilisearch_types::versioning::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}; use time::OffsetDateTime; use tracing::info; use crate::queue::TaskQueue; -use crate::IndexSchedulerOptions; -pub fn upgrade_task_queue( - opt: &IndexSchedulerOptions, +trait UpgradeIndexScheduler { + fn upgrade(&self, env: &Env, wtxn: &mut RwTxn, original: (u32, u32, u32)) + -> anyhow::Result<()>; + fn target_version(&self) -> (u32, u32, u32); +} + +pub fn upgrade_index_scheduler( + env: &Env, from: (u32, u32, u32), + to: (u32, u32, u32), ) -> anyhow::Result<()> { - let current_major: u32 = VERSION_MAJOR.parse().unwrap(); - let current_minor: u32 = VERSION_MINOR.parse().unwrap(); - let current_patch: u32 = VERSION_PATCH.parse().unwrap(); + let current_major = to.0; + let current_minor = to.1; + let current_patch = to.2; - let upgrade_functions = - [(v1_12_to_current as fn(&Path) -> anyhow::Result<()>, "Upgrading from v1.12 to v1.13")]; + let upgrade_functions: &[&dyn UpgradeIndexScheduler] = &[&V1_12_ToCurrent {}]; let start = match from { (1, 12, _) => 0, @@ -41,20 +44,23 @@ pub fn upgrade_task_queue( } }; + let mut current_version = from; + info!("Upgrading the task queue"); - for (upgrade, upgrade_name) in upgrade_functions[start..].iter() { - info!("{upgrade_name}"); - (upgrade)(&opt.tasks_path)?; + for upgrade in upgrade_functions[start..].iter() { + let target = upgrade.target_version(); + info!( + "Upgrading from v{}.{}.{} to v{}.{}.{}", + from.0, from.1, from.2, current_version.0, current_version.1, current_version.2 + ); + let mut wtxn = env.write_txn()?; + upgrade.upgrade(env, &mut wtxn, from)?; + wtxn.commit()?; + current_version = target; } - let env = unsafe { - heed::EnvOpenOptions::new() - .max_dbs(TaskQueue::nb_db()) - .map_size(opt.task_db_size) - .open(&opt.tasks_path) - }?; let mut wtxn = env.write_txn()?; - let queue = TaskQueue::new(&env, &mut wtxn)?; + let queue = TaskQueue::new(env, &mut wtxn)?; let uid = queue.next_task_id(&wtxn)?; queue.register( &mut wtxn, @@ -72,12 +78,28 @@ pub fn upgrade_task_queue( }, )?; wtxn.commit()?; - // Should be pretty much instantaneous since we're the only one reading this env - env.prepare_for_closing().wait(); + Ok(()) } -/// The task queue is 100% compatible with the previous versions -fn v1_12_to_current(_path: &Path) -> anyhow::Result<()> { - Ok(()) +#[allow(non_camel_case_types)] +struct V1_12_ToCurrent {} + +impl UpgradeIndexScheduler for V1_12_ToCurrent { + fn upgrade( + &self, + _env: &Env, + _wtxn: &mut RwTxn, + _original: (u32, u32, u32), + ) -> anyhow::Result<()> { + Ok(()) + } + + fn target_version(&self) -> (u32, u32, u32) { + ( + VERSION_MAJOR.parse().unwrap(), + VERSION_MINOR.parse().unwrap(), + VERSION_PATCH.parse().unwrap(), + ) + } } diff --git a/crates/index-scheduler/src/versioning.rs b/crates/index-scheduler/src/versioning.rs new file mode 100644 index 000000000..63cb57002 --- /dev/null +++ b/crates/index-scheduler/src/versioning.rs @@ -0,0 +1,61 @@ +use crate::{upgrade::upgrade_index_scheduler, Result}; +use meilisearch_types::{ + heed::{types::Str, Database, Env, RoTxn, RwTxn}, + milli::heed_codec::version::VersionCodec, + versioning, +}; + +/// The number of database used by queue itself +const NUMBER_OF_DATABASES: u32 = 1; +/// Database const names for the `IndexScheduler`. +mod db_name { + pub const VERSION: &str = "version"; +} +mod entry_name { + pub const MAIN: &str = "main"; +} + +#[derive(Clone)] +pub struct Versioning { + pub version: Database, +} + +impl Versioning { + pub(crate) const fn nb_db() -> u32 { + NUMBER_OF_DATABASES + } + + pub fn get_version(&self, rtxn: &RoTxn) -> Result> { + Ok(self.version.get(rtxn, entry_name::MAIN)?) + } + + pub fn set_version(&self, wtxn: &mut RwTxn, version: (u32, u32, u32)) -> Result<()> { + Ok(self.version.put(wtxn, entry_name::MAIN, &version)?) + } + + pub fn set_current_version(&self, wtxn: &mut RwTxn) -> Result<()> { + let major = versioning::VERSION_MAJOR.parse().unwrap(); + let minor = versioning::VERSION_MINOR.parse().unwrap(); + let patch = versioning::VERSION_PATCH.parse().unwrap(); + self.set_version(wtxn, (major, minor, patch)) + } + + /// Create an index scheduler and start its run loop. + pub(crate) fn new(env: &Env, db_version: (u32, u32, u32)) -> Result { + let mut wtxn = env.write_txn()?; + let version = env.create_database(&mut wtxn, Some(db_name::VERSION))?; + let this = Self { version }; + let from = this.get_version(&wtxn)?.unwrap_or(db_version); + wtxn.commit()?; + + let bin_major: u32 = versioning::VERSION_MAJOR.parse().unwrap(); + let bin_minor: u32 = versioning::VERSION_MINOR.parse().unwrap(); + let bin_patch: u32 = versioning::VERSION_PATCH.parse().unwrap(); + let to = (bin_major, bin_minor, bin_patch); + + if from != to { + upgrade_index_scheduler(env, from, to)?; + } + Ok(this) + } +} diff --git a/crates/meilisearch-types/src/versioning.rs b/crates/meilisearch-types/src/versioning.rs index 054d2e312..f009002d1 100644 --- a/crates/meilisearch-types/src/versioning.rs +++ b/crates/meilisearch-types/src/versioning.rs @@ -9,6 +9,36 @@ pub static VERSION_MAJOR: &str = env!("CARGO_PKG_VERSION_MAJOR"); pub static VERSION_MINOR: &str = env!("CARGO_PKG_VERSION_MINOR"); pub static VERSION_PATCH: &str = env!("CARGO_PKG_VERSION_PATCH"); +/// Persists the version of the current Meilisearch binary to a VERSION file +pub fn update_version_file_for_dumpless_upgrade( + db_path: &Path, + from: (u32, u32, u32), + to: (u32, u32, u32), +) -> Result<(), VersionFileError> { + let (from_major, from_minor, from_patch) = from; + let (to_major, to_minor, to_patch) = to; + + if from_major > to_major + || (from_major == to_major && from_minor > to_minor) + || (from_major == to_major && from_minor == to_minor && from_patch > to_patch) + { + Err(VersionFileError::DowngradeNotSupported { + major: from_major, + minor: from_minor, + patch: from_patch, + }) + } else if from_major < 1 || (from_major == to_major && from_minor < 12) { + Err(VersionFileError::TooOldForAutomaticUpgrade { + major: from_major, + minor: from_minor, + patch: from_patch, + }) + } else { + create_current_version_file(db_path)?; + Ok(()) + } +} + /// Persists the version of the current Meilisearch binary to a VERSION file pub fn create_current_version_file(db_path: &Path) -> io::Result<()> { create_version_file(db_path, VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH) @@ -78,6 +108,10 @@ pub enum VersionFileError { env!("CARGO_PKG_VERSION").to_string() )] VersionMismatch { major: u32, minor: u32, patch: u32 }, + #[error("Database version {major}.{minor}.{patch} is higher than the Meilisearch version {VERSION_MAJOR}.{VERSION_MINOR}.{VERSION_PATCH}. Downgrade is not supported")] + DowngradeNotSupported { major: u32, minor: u32, patch: u32 }, + #[error("Database version {major}.{minor}.{patch} is too old for the experimental dumpless upgrade feature. Please generate a dump using the v{major}.{minor}.{patch} and import it in the v{VERSION_MAJOR}.{VERSION_MINOR}.{VERSION_PATCH}")] + TooOldForAutomaticUpgrade { major: u32, minor: u32, patch: u32 }, #[error(transparent)] IoError(#[from] std::io::Error), diff --git a/crates/meilisearch/src/lib.rs b/crates/meilisearch/src/lib.rs index ef270670b..4d41c63ea 100644 --- a/crates/meilisearch/src/lib.rs +++ b/crates/meilisearch/src/lib.rs @@ -32,7 +32,6 @@ use analytics::Analytics; use anyhow::bail; use error::PayloadError; use extractors::payload::PayloadConfig; -use index_scheduler::upgrade::upgrade_task_queue; use index_scheduler::{IndexScheduler, IndexSchedulerOptions}; use meilisearch_auth::AuthController; use meilisearch_types::milli::constants::VERSION_MAJOR; @@ -41,7 +40,8 @@ use meilisearch_types::milli::update::{IndexDocumentsConfig, IndexDocumentsMetho use meilisearch_types::settings::apply_settings_to_builder; use meilisearch_types::tasks::KindWithContent; use meilisearch_types::versioning::{ - create_current_version_file, get_version, VersionFileError, VERSION_MINOR, VERSION_PATCH, + create_current_version_file, get_version, update_version_file_for_dumpless_upgrade, + VersionFileError, VERSION_MINOR, VERSION_PATCH, }; use meilisearch_types::{compression, milli, VERSION_FILE_NAME}; pub use option::Opt; @@ -234,6 +234,10 @@ pub fn setup_meilisearch(opt: &Opt) -> anyhow::Result<(Arc, Arc< instance_features: opt.to_instance_features(), auto_upgrade: opt.experimental_dumpless_upgrade, }; + let bin_major: u32 = VERSION_MAJOR.parse().unwrap(); + let bin_minor: u32 = VERSION_MINOR.parse().unwrap(); + let bin_patch: u32 = VERSION_PATCH.parse().unwrap(); + let binary_version = (bin_major, bin_minor, bin_patch); let empty_db = is_empty_db(&opt.db_path); let (index_scheduler, auth_controller) = if let Some(ref snapshot_path) = opt.import_snapshot { @@ -245,6 +249,7 @@ pub fn setup_meilisearch(opt: &Opt) -> anyhow::Result<(Arc, Arc< opt, index_scheduler_opt, OnFailure::RemoveDb, + binary_version, // the db is empty )?, Err(e) => { std::fs::remove_dir_all(&opt.db_path)?; @@ -262,14 +267,18 @@ pub fn setup_meilisearch(opt: &Opt) -> anyhow::Result<(Arc, Arc< bail!("snapshot doesn't exist at {}", snapshot_path.display()) // the snapshot and the db exist, and we can ignore the snapshot because of the ignore_snapshot_if_db_exists flag } else { - open_or_create_database(opt, index_scheduler_opt, empty_db)? + open_or_create_database(opt, index_scheduler_opt, empty_db, binary_version)? } } else if let Some(ref path) = opt.import_dump { let src_path_exists = path.exists(); // the db is empty and the dump exists, import it if empty_db && src_path_exists { - let (mut index_scheduler, mut auth_controller) = - open_or_create_database_unchecked(opt, index_scheduler_opt, OnFailure::RemoveDb)?; + let (mut index_scheduler, mut auth_controller) = open_or_create_database_unchecked( + opt, + index_scheduler_opt, + OnFailure::RemoveDb, + binary_version, // the db is empty + )?; match import_dump(&opt.db_path, path, &mut index_scheduler, &mut auth_controller) { Ok(()) => (index_scheduler, auth_controller), Err(e) => { @@ -289,10 +298,10 @@ pub fn setup_meilisearch(opt: &Opt) -> anyhow::Result<(Arc, Arc< // the dump and the db exist and we can ignore the dump because of the ignore_dump_if_db_exists flag // or, the dump is missing but we can ignore that because of the ignore_missing_dump flag } else { - open_or_create_database(opt, index_scheduler_opt, empty_db)? + open_or_create_database(opt, index_scheduler_opt, empty_db, binary_version)? } } else { - open_or_create_database(opt, index_scheduler_opt, empty_db)? + open_or_create_database(opt, index_scheduler_opt, empty_db, binary_version)? }; // We create a loop in a thread that registers snapshotCreation tasks @@ -322,12 +331,13 @@ fn open_or_create_database_unchecked( opt: &Opt, index_scheduler_opt: IndexSchedulerOptions, on_failure: OnFailure, + version: (u32, u32, u32), ) -> anyhow::Result<(IndexScheduler, AuthController)> { // we don't want to create anything in the data.ms yet, thus we // wrap our two builders in a closure that'll be executed later. let auth_controller = AuthController::new(&opt.db_path, &opt.master_key); let index_scheduler_builder = - || -> anyhow::Result<_> { Ok(IndexScheduler::new(index_scheduler_opt)?) }; + || -> anyhow::Result<_> { Ok(IndexScheduler::new(index_scheduler_opt, version)?) }; match ( index_scheduler_builder(), @@ -345,25 +355,29 @@ fn open_or_create_database_unchecked( } /// Ensures Meilisearch version is compatible with the database, returns an error in case of version mismatch. -fn check_version_and_update_task_queue( - opt: &Opt, - index_scheduler_opt: &IndexSchedulerOptions, -) -> anyhow::Result<()> { - let (major, minor, patch) = get_version(&opt.db_path)?; +/// Returns the version that was contained in the version file +fn check_version(opt: &Opt, binary_version: (u32, u32, u32)) -> anyhow::Result<(u32, u32, u32)> { + let (bin_major, bin_minor, bin_patch) = binary_version; + let (db_major, db_minor, db_patch) = get_version(&opt.db_path)?; - let version_major: u32 = VERSION_MAJOR.parse().unwrap(); - let version_minor: u32 = VERSION_MINOR.parse().unwrap(); - let version_patch: u32 = VERSION_PATCH.parse().unwrap(); - - if major != version_major || minor != version_minor || patch > version_patch { + if db_major != bin_major || db_minor != bin_minor || db_patch > bin_patch { if opt.experimental_dumpless_upgrade { - return upgrade_task_queue(index_scheduler_opt, (major, minor, patch)); + update_version_file_for_dumpless_upgrade( + &opt.db_path, + (db_major, db_minor, db_patch), + (bin_major, bin_minor, bin_patch), + )?; } else { - return Err(VersionFileError::VersionMismatch { major, minor, patch }.into()); + return Err(VersionFileError::VersionMismatch { + major: db_major, + minor: db_minor, + patch: db_patch, + } + .into()); } } - Ok(()) + Ok((db_major, db_minor, db_patch)) } /// Ensure you're in a valid state and open the IndexScheduler + AuthController for you. @@ -371,12 +385,11 @@ fn open_or_create_database( opt: &Opt, index_scheduler_opt: IndexSchedulerOptions, empty_db: bool, + binary_version: (u32, u32, u32), ) -> anyhow::Result<(IndexScheduler, AuthController)> { - if !empty_db { - check_version_and_update_task_queue(opt, &index_scheduler_opt)?; - } + let version = if !empty_db { check_version(opt, binary_version)? } else { binary_version }; - open_or_create_database_unchecked(opt, index_scheduler_opt, OnFailure::KeepDb) + open_or_create_database_unchecked(opt, index_scheduler_opt, OnFailure::KeepDb, version) } fn import_dump( From 7eb23f73baf54508f92537b481f6ad772d7bf503 Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 23 Jan 2025 00:39:28 +0100 Subject: [PATCH 22/36] add the version to the index-scheduler snapshots + fix a bug when opening an index scheduler for the first time --- crates/index-scheduler/src/insta_snapshot.rs | 13 ++++++++++++- crates/index-scheduler/src/upgrade/mod.rs | 3 +++ crates/index-scheduler/src/versioning.rs | 9 ++++++++- crates/meilisearch/db.snapshot | Bin 171403 -> 172051 bytes 4 files changed, 23 insertions(+), 2 deletions(-) diff --git a/crates/index-scheduler/src/insta_snapshot.rs b/crates/index-scheduler/src/insta_snapshot.rs index db506e58e..3ddcdfcc2 100644 --- a/crates/index-scheduler/src/insta_snapshot.rs +++ b/crates/index-scheduler/src/insta_snapshot.rs @@ -6,6 +6,7 @@ use meilisearch_types::heed::types::{SerdeBincode, SerdeJson, Str}; use meilisearch_types::heed::{Database, RoTxn}; use meilisearch_types::milli::{CboRoaringBitmapCodec, RoaringBitmapCodec, BEU32}; use meilisearch_types::tasks::{Details, Kind, Status, Task}; +use meilisearch_types::versioning; use roaring::RoaringBitmap; use crate::index_mapper::IndexMapper; @@ -21,7 +22,7 @@ pub fn snapshot_index_scheduler(scheduler: &IndexScheduler) -> String { cleanup_enabled: _, processing_tasks, env, - version: _, + version, queue, scheduler, @@ -39,6 +40,16 @@ pub fn snapshot_index_scheduler(scheduler: &IndexScheduler) -> String { let mut snap = String::new(); + let indx_sched_version = version.get_version(&rtxn).unwrap(); + let latest_version = ( + versioning::VERSION_MAJOR.parse().unwrap(), + versioning::VERSION_MINOR.parse().unwrap(), + versioning::VERSION_PATCH.parse().unwrap(), + ); + if indx_sched_version != Some(latest_version) { + snap.push_str(&format!("index scheduler running on version {indx_sched_version:?}\n")); + } + let processing = processing_tasks.read().unwrap().clone(); snap.push_str(&format!("### Autobatching Enabled = {}\n", scheduler.autobatching_enabled)); snap.push_str(&format!( diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index ab124013d..ebedb13cf 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -6,6 +6,7 @@ use time::OffsetDateTime; use tracing::info; use crate::queue::TaskQueue; +use crate::versioning::Versioning; trait UpgradeIndexScheduler { fn upgrade(&self, env: &Env, wtxn: &mut RwTxn, original: (u32, u32, u32)) @@ -15,6 +16,7 @@ trait UpgradeIndexScheduler { pub fn upgrade_index_scheduler( env: &Env, + versioning: &Versioning, from: (u32, u32, u32), to: (u32, u32, u32), ) -> anyhow::Result<()> { @@ -55,6 +57,7 @@ pub fn upgrade_index_scheduler( ); let mut wtxn = env.write_txn()?; upgrade.upgrade(env, &mut wtxn, from)?; + versioning.set_version(&mut wtxn, target)?; wtxn.commit()?; current_version = target; } diff --git a/crates/index-scheduler/src/versioning.rs b/crates/index-scheduler/src/versioning.rs index 63cb57002..19ad49fab 100644 --- a/crates/index-scheduler/src/versioning.rs +++ b/crates/index-scheduler/src/versioning.rs @@ -54,8 +54,15 @@ impl Versioning { let to = (bin_major, bin_minor, bin_patch); if from != to { - upgrade_index_scheduler(env, from, to)?; + upgrade_index_scheduler(env, &this, from, to)?; } + + // Once we reach this point it means the upgrade process, if there was one is entirely finished + // we can safely say we reached the latest version of the index scheduler + let mut wtxn = env.write_txn()?; + this.set_current_version(&mut wtxn)?; + wtxn.commit()?; + Ok(this) } } diff --git a/crates/meilisearch/db.snapshot b/crates/meilisearch/db.snapshot index 1917a2e7b7334c4f1656b704ed055706c9cbdc63..0f735608063519b05d2ea58e9ea9cea238162e07 100644 GIT binary patch literal 172051 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∑Q*G@>abZefD0+TudvB(y2!pi23EO^k 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 z zfEh#6Z;3^Uzn76-r3$3vg*rf_C&{YN=ZU2k>2f@cLgwryD$N5^tv(sA3Xg9ez9TVc zsoHt!dFchW*-yW7GnFa~4rcZ?5?d14`)(gpo(QBjVXMGVl1ug(94^TyCe`V-=ClYy zz4sWZFG*9i=YIo+r?N_v z_ougFqP_+G!}@@%nbTt@bjm<*&RFrCcc-jEN|^e_{Di@p6KOrns8SDnlf8*g%7Q)K z7K7wp1o^PbTnbW9FOJ!qjvDtT61u&RRRERodN(cGf0uTg>WnE<{9YC$6PblhG5t;H zWFBMa5*t-28-2u;+QalIH)a5?JR~c?gj>(T#NN+@OtN3FnUpU42tAx|WHysu$Tfz| zz~O2a=Q)!O&3~r`?}B|$dPVD)PD8_0LpO2 z#Lo97(LG)5Uo-Anb1LeZ2+mg<=TBPd!!ia8O95>?uT@kY#8BTMr3|M%5ov-`dVxeb z|2uNA$w@A~-qU)MLjvu2XvjZxxyu>iTSrm-b|jwgDw)UUZbTS)IbGLab^cq76r0v| zJ<+{g#omREo7l*uY?Hvjo8B9QxT=~!F4*2UHRj;@{9~n$cgMtwie@PyR?{#){!4u@ z*1RBg+m`89D5KDPFK8{q9+@dx`nGD$SaRmySBeYSQ}z-KP!HF051 z$WR={8HM49Sr|SFA0M(*8O5!ZpD->2db&G}0=yqV zMC*}gWHZIg8@Bpr0kj9TO4eepDaUmK45H-(Q<row8W-u(@G9Zz?wI0mKeaWnjF{CTVrAu*tB0s?ocSQEf&#my7 zq*u`$e~g@u^ZZX>D}0Kmipk2RZ3vGpk~~+6xn<8Jm~bLAzH1X;ji|ZJS;V`%2h>+E zX_*E-d%nKXMj}(L!X{!9tN$hTc)3jS~BcCOHG@Q30My7R*5Nn*LCeq;LCSV~7 z5&s;CTs5Pq7?}Yi>W&4yqG2-Pfu4nMQJS+1{xo)`Sg(7Yt1{OMWf*l;oZ>nFBIsak4$znu;)l)Ok8{N@vCx7!FT+dfUACZf9_D9iNR$ z7>=@v!)HuxfS;I3D7m2+S=sc-V~5+-@4${G)ID9}^rGzFhDG*D^HQ?Z=};d1vai2d zDf}=uEZ6qj>fXE@gmZr*nqc~7xpl#? zJ(|nDOb1>CO2Qt`gJpS$z#371H#N1pQVUPJRcy~ZXQkZ`>`eXej|%=RLk1UGUE zI$o-Bv!4ufz*IVZ0=yNtW&J4>OXotu-Pj&qnhs*G}7!R zE`Olqi*qj1FePI|p<=M5zTu&Uk>W%tUx4ZWo$hwajf0pLX^BYZJ03?+9J z_Ol@tw60w<0Urz5S3)NXpvbp$_VDmE*|Mj=L5v}gT$X4OVb#skHdQDS%;Ica{Fs@;elB;y&;B?pF()7 z#6_(}Mt`VvR#e4Zj|QReG*Q-OaxyG~oUQf-Wg8EMCv&okIrY38 z$mNNBz1_A486?Oj528w?HQG$Pf4Yf!_+{|&B6=X%{*B>f|Gt8!9UKMb(c3zvx<^+b z9Mp2A#OK@_C*eLEj#oS4>;6lB_m`fa4CR!DXv|3CC*EJ`*Xb$n;mAOUE&I=_cGW-o zOHv!`qY?;ImsEQqK4?U2BvW((5_!mz5Ygmm@+>&z9vLmReE~f7n!)r*2b>gWL$=cm);S6OT<#qfHS*Pc`HwJ0<93|8e!M38_UW5^aa(BA{bB4R zu=o9|9Yu6xb&IG1NaQ&DkWq>ed|-M6a*)-K_o|^mL0mp-MxWfsc-?bXak5R- zZa&F^bwaQAFs|Cjh@iTgT9o=FQ3tX8N=NKHcSsI49{~ilpim=;qdx42j5^n2go8 zsem>DQ%VoC!4puUizvnL@y6Hob_kWCzoYYpl0=8pw8w6WB9cU%-ck*8RxfBpJ`*ofGj_{ctkYhp2w3o~ABj7b&a%_@K|QyfCJlPBTHmDJ@&$+cd5 z}Dt&r1Z0w>xX&k+L^#{_c1KbMWj$By5kXgF*XLc zNknOxcaN%3OPgV84JqC=rgC5Ma4q~ZDN+h1c0^4YvZK@`&afLI4gUIXmE_RZ;rXwK zRy5-t#6V4;zH7N5{SUIEz{}1mwnH%%u^eZnTRFs@K`Tp9R0J3O{+vCyX|?q)3vTuO zEYaiB5~?!f706+7)3ljkk(vAW^D6J*k`(JvSOwTcfKqnjyolc_hw36@`7qyZqcn;mM>RkG@o)y$A zI33dv^jv8hf)Du%2zKH#1=J1Wb*ozI;bk4C-jtBP8?=j)*gs8kZ(a+v7o%h95)JdChAj@o^b4GfZ-={;vuEwS;-tKq~qy2cwc z*bY{kskLd6%;oY*ok=|<=X%8p&x<3%;R#1GHm=hB7ONoXo*M>j_i zAAKTN-aL^n)c13Tudk7s3|Me=J*D}OI_B6u(#SPxeBd+*Oo(Y7HIdIXW`(IYVuF+_ z6R6Uiq-InK;N0qC)`d!I10WZ91E^?FYS`j%@RSfT$}y(fid1Y(2Iu<>gAoH|WA<3h z4niD_l}5=6LEyl9?*p~aDwiwMuaZ=c;No{t+9J${)mR_fcNjI?b6F~!Ub8{8KX9E! z*f1Fv`Evm5d0#Kzn9aO=cl_CLEKE2KlZAXQt+kmFxea*>2b-3Qt6|d1C#ftP*ZZ~q zbBEVdaPjAz<4vinFJ1amnzsMOi|dBV7sZ4O-r#pusnCAe8@5F0gatO^ z^a0jpJ&qSoA6QEg)DC9DvsND~= z8b}VHFX(v8!sdcV#p;UxrRn<9I1zJz0vR9NT1(}Q zXM8~1#9(~M%D0SZ8%=f~snIdl{YPGqN6X75o-(ipM&SV3x5wU4z56rDzjNhUy1#h> zTZ~lZhV(u5&jpU!JL}szT%;`(-T~QT!H7r48{{IYPYb>oX2!|e5#ZsyEw;B5M^tAk znw5tpLR_qVeJN+&EHPwnGW&%yMchYpff&wKUiy4H_WDfB>wL;zx{kZ@G$671j|!_e z3Wjk7O;W)$bBb!yl}$vl;$@)gusXvR$;R-zX&Ba|F!&U_E7Ed!t;7nVv7m6O zYl7O$FIHI67^_N$Mr}SPt@uNI$=k>1Ln2~7rBrbE2-<#i-eBYjg&gQwN)m}cmxFN$ zT`;xh1M|ZK#z*sB^k?sPdO?(fX3m~OMq$C`5Rm5kA{IY5k%uH64~4i;qm;|5iNvhHsT%qnOGDNZMlSfUKgr?luVio& z_D`+otFBeVuS8ZZM+J6vp7un^lk#43$@;CBg6y9@H}8+nU^bcFs2_~dz_pB2A6L;doL}mDkVy!~nXxMWaF?9pc zZ)L^uL|_&9pb;g)wY$uJRHn3|i?dnhVS6gYHzn7mNs6FO{SeI|%NT#gNOZ-{Ua^FX zy7>UwYNwJlF(OetwI#1CSC^7TIbXvIEaUj@eg390eOlw3$_!oJx5WLqMJ4~NB=T$c zZ|wMMG&CU#TcVstnB3k@)mvL5d(nR8IUGBus91_SS2bU4T}Co-NKzDcrk;~sWg8&h z(!nttE4n^cv%{nkiTKA_VdRoqTV-xA91yM6LSOug3tAwn{ZWf2f}O!4yc{ zfX&@kv|bg%4B;}^EQW0lsT8X=1*wO>+aD?Z-UV~|(^T_pKfU0ds?@$uxbDF)QW@}~ z#IR9Td^m2w!lsvEa=ad>`pS%;1HawpP|jxW3G6vZpg3Wc?>HM9Kdy8ImCv9k=om{$ ze9^%*Wic;m6$$+zFjUS`)I@N>ZL91MC<<+dr7U6D35P^+$ObXP0qHNR^-ZFD>|2)o zN;<*Oybf1)@sOsp-S&so4U9S|{!Q zO(6C^%ssaXrHY;03wb#>piSjyKLgcRzj*b+EpzVInv}w=fuZB4ERlQf)Gwg4+nK95 z=b0;&#+j>M!82FRl&=hEVn9|aAZc`HesO`qmHL+4{@ec_|CkbP(=z}|za$hsgeqFF zx<{X+&abJXs-u=iIkhsnGV`=El~h%~x<}Qs<5u&aZ_GE9myS~dO|`a8SBG1@yQ!g| zP+eUuP4zbQY0M$jfJRW`L;OMUW#<-jFqQ7W;9t1TXrR&4)m8GoP^qP_qOZ@G>aXop zcCURBI-5BAt;D+$J>`;dL%*Y7o`GFjBlUNRxQu8CZzY{fvvS9M(Js-@6&`?oQ}cq# zEAsyyKfT}^LGyhH?0AS^=Kvk_hc2=H$+d-sM@b(bcPACe|96N6()-F+{lC{1I*w*M z*A_M&W&;3*om5zVj&P0TG`Stz7Bdr%P`ecjeIp%4q`G>BvjIBW@zDQpJx4P`9Y%yt ztmyM`2=P<+{aN)-Kb>tf!DscDYoxWpPc3*1UHvWPeW`JFO8*rRe-=%me^&nXpAxRm zGL+EIuI@g|##cX^INN_J(ZbfXT26EM4?F!2`%keJ?td-+8^gnYkohN+_+JHr|MZwS zmKf{E|EHGjKg{Ys%=5oSc%O~Z!ah4t`ETG!|Fx9<4=2{8Sx!s-4=el+Q~ty%{u_t& ze?rKo;QT4j{D&C-Crnr2e3fH}5OEBZ`-={*v7EA=+K0>W;|%6g?7QZ-l@>>>t*3!5 z`VZ7Y{}e0a9e*SPWkT|cL&pmW^%lGbdFko`ia&z8vcO`sIy^}WjlZSF78|Ohqh$mM zd~BGZo!hxRM9qC~W@A$R;sbRsSkUn<>F<$a`%^=8qAqqNqW_Osd>#4O|1lP0VqkFDOTp^jvMkmN|o2BtSkb>v_>CpL<8tgTn)Quq?|7$-z$Y8j5iuoRe| zCFE#FHd@pV+t0HjV$|)JSRdHr+*to>8Od$~4YY>H(DS8HA*6=!KtQNw5~hYRuO(65 z#IgHbH_#N;G>;}irp*HBr38{^ow&b2=}H2$3GV7KnNoOoi{T&sfa@OWK@07kmqfQK ze>r+!$U^^lCp=iFdm6ladJgYAgyu&!!t(%W?M7Ejz914;x&4^)o_W1T|9oZp ze8m^IkB{+wxdS5Zs4lcQBYZ~B)Uxz*WQyja?3gOFseu941c4`iq>KXdr+(rHe^-lU zrsYDj5Sp?y2)M051&~JMF(n>3<-i-UoiWSX81cz|fjwvE6--5+*8URr7&zC8P_Q1o zL}!SOzVFs05PJW8l?rcXp4V~;VB^-}ux?>}VC{D|7 zJDAm+cR<}jK#1-SQH$3$bQ9C>e)Tdzp)Xi7P&>g*139!XKfV=%9!H`|X`3MneoxWW z6`!vT>t47EJDJbVid?u<#852FR%mZk+hJJ)!Mmi$%}k{!gv{x2>N3EDv0%xWRyolM zJCe!`@K)&R)d#`53z!s4GjFX!IZvB_GYz*7Ac@q;kvXixe(ueRp6XKfFN=tGN|1)c2^CM`>?10B@yo-_Pi`isp6qe5Y%E zl{(a}gwrLCJpDJ2;G04-FQCeoJb7&Ym8U0-r^Mc175@@6wdIs=6o%%TW@eEm<4 zMj6v5zvVLYARUw zXl&Ze_oQV$4eRdLU)i9fIGc!h5fv?m4smG$RVg%^W22R4`Te~Nq+gAZvL02XJ6K`c zH1)sJlgG{;zpW|9p~fS}>C1rE>S2SnODp#cO9cdIW!BJ2inkQFn`41$Z?lgnuHYe> zYI>%3r%DGAx!FaW?X#hN;T_g~AZ8w}VT;O9aiLS{Z>6rngjJ3p80KGTVU4!^KyY{y zdR?8YjDgod#k^@22du=+(7duHPL(0#y%cOE#l>=Z+ND2a6^!b@2Oy6YA$rcf!-0Ud z$-?DgQc%`tVVOIb47>a<>g{p+iOZa-IOyo4MDquM9HRKZ;*IbcS-hx?Q639dOFy7Q zFuR8bROE_?#~{z$1<9nFm(;_?oPb5CTvuv`t=)V8mj9O4J6Lk#(tLka98BI#1)`Nb zr|FNjVtJ2hy7Gr=(&Tg3^Kg_ZkW)M-r{;5@rxEu7B~eD zXE~uL*Jcs0`1yu(pqclApcMo-0tUX7fCqX(&`p@L0SK<}*9K`VhG6RxFvq9i4nAKF za21@$6s^LqFV#M*3CzEsLiT5?kC}jAv=a-*!N_#lk>80A0h7O%FsF1dKAgR~5(O*< zFba}LmIQgyW3z_jl9!``1b=+IXk{tC;Nyq30o>mNL5e1GAhJ|j`;e5Y z3x+QAS#a(Q9&W2pAp)}maGkI#6^k!OLxrnK90C_XR#A?Hz|emjPP8qxLFB%4tY`r@ zD8KPvTP~VoT&IXKQ|f$SmZ*CYQr)16=4ElT6Y z&DM4%NK{sd!NGKUV`T>laDR+oOj>=pkiQ@+^dR6kGxVShB4_DS(xtJ1{89T&Wz8Vf zjKt|Re`c#t5%HGUKTqI)TodGZAqxcuM2~9okjn_H1Zv=b_gYs%>g|2Gs|@X?%pq+! zX1cTIVc4E*v`#+2^24L#fUQ+2nWt%f64Jn2%eC-^*(*QV8Yx$w1}=f+PFClDS#7($ zAJ81#sko9OJFz}!2ssz%q4OE53xl9lwAUzlo4WHBN@Bh9<(Ov8p7FWQvziVte88~A zjlGyFNmF|*rn`Ko6n)<}xCPNu-bgITF{6>lenFg9nquF&Gni&q>&A$krliH`*?YPj8(D1~Ok@exj6*K*P zNx25P)R#zSryrDb8c3GN2K~tI4zj~~Lss>l1BS{SEEx&vqQ>XI;|z;rsR|$pD6e&q z9Nwm^9*M(4kk|g(tD@*582ndLSLPIAsLuhaig7Iq*o#@#5Ksf2S9ZfYfP9GG5~Ai? zhy!X}ou?D(4mBb;n!ae538(mh6=-_sc~a?VUN-Iv+vf7tkcuDG$B4bGg!|YD_s|2Nx z(58w{gDw~?B0w&ngY(E$Oi#K@vF9x%A|lek-a>1T(3W3b(L%s&^%4Ea@6F)jV~4Z> z+F1sV^3J9(78|O01*dO|FyYb%+AACCzHiDW60W(w{LLpeg*U4owhX_X>G_W6iuH5Dcv&+($Q@OweQXrZhm&KAqdv|1Q1Ev zvowx00|6y2sRgK6_3?!q)+wn$p~PQPUi-XDS?$)jv9i^1g@^`e4e&gDn<^c)AwuW> zF>mil$`+h20qRIp^7Kreymabb3(r5v$rSG+HwA9K0S^2GZvRT%Pp`e&1nBbrOFFIda7Sr27fb0Rh~33_s++6|1LFZsPqw{H2KPB$tPKMJc= z2%dN~-vjG>U)Po=%h177s(;p2RftB*insh8mu;p<{8%1B3p;>IcEJzLk1It}3qADn z_Pnm=&7#a6z?KN7#{YC2HWW*m>cI;Oes!&c#`eEIUa&ej8;LVlnU$L|G=WI`D(K95f6v_VvO@J$FsX8)KcnQ-rpX?j zC&j9`WXtn$1!Q%?%8dRzB&wjy$Nvh$dl4#oIdjgX;%qGI``HzVdRLXuPOfJgL|Fzm)q5hq4AziRnVf6BU{r))QfjSUV$s z;F7&mutdS71v<&wriww(i^u8oBjgF|h~xLKa;X8$J(`Z8!Efe{%*E^Mic5)qAy39B zCnQOaD%T;2-wz;9IEk9KJa%79z-X0{sCb=o3^|P|!j&KB{mK0<{R9;=IFmXqvo0m? z4yckqr{yY86_sNoaR+8?&mE3W!@-U;SM%Dc4$*TR^lTZx<290Lz|iOIxWL8G`a^=2 ziMSWe;;WoY>sQ{_XHK|c9mAW$#|J|_ujW_@^fK+{*p(R9tv?b4fI1Tccq8FrgOE}m zv-~xCX=pGN!^TIh2@@n4{Axg>@Zr{XAK8ozbUPd4abk}Xc9u$Y?T)?C)>z1sVT&HO z2-)qK0R?^|RK2*kWlH7b7|szc84*yb+fURUuRb3-r$R~ z6Fm5DE_ce}DhLpn;Ytn4eL>SRCR6-@%Nd`4!#o~WQo_Y<981w^PM=E4ie&{DK%3YV zAm$+jU)15?*(iJrSfJZ6lTjC`;N$*G%5f~@5~_IVUG3J>6!;(5&2S4v_6!HBslQOT zH>pSlz9btSE+O+PjyXDnw1qT5`EF!U_y+|$Y*isbtQXz4jSo}WHRyiV1v0j_(9tIx z+l1h5IO&c0uX7TDsJi#`vagaC;+pZ-=Fs9h(~TADejXPeG548MXwra>N15F&8T3g$a80 ziUb6hKK&L?8l2|_IcE?u0(9G-Zk%d?hhzd1r?G5LBz{vMmQj!*0v`1`^X6p15IP>e zXt2!IgkT9i3@Q{fzLgfsO@Vjv?<*|wVXJn|_9Wr_-&RB=;(U02aYTuZe3bu|LE2Bb z-Jb1>ajX~I_?iq?RxlHO^Q}H+wccErYNs5muKlVJKM*EbzA;mjuP_SLQ>-Gx1inA| zcn~!@>Vakwyd%8o*&=&XM|!3tWHq$=%>LYHA#$hrKI`2Ew=)bKZCgA ze2;jUgh|o)pFkFXi4Sn7ACX1XT4f2C4VmsI73lFP?yJ{(g=#^AGdA(ta6Hy&dyZ>oE)j$TO}lzGK$=&~U+(;2$V_1gq_xZ@@^+ zpp0wBkDYglY1PR~hbxk;Z)OGR%Rr@p$9JWi(z1_{{ClF2JYk+|kg64Fb!4*GNh`YG z%Y2pRNuvb7;{+Wpu^fEngTMNyDBVGjbz2lzeJ$;m*(M2LUpSYS)bM8XH(8(02{p-n zxpHz!3LuA?*WsyQ^E+&Js18N4l~mmM@o?v8oS+&Zv(`j#VxYt8P)ej4;BgvxwO_m? z{GF=-+46uj{>Tv$Nx`C&-)c@}vtS*YufI;pyjKnq}cQM z+-Fi@lJ=lS#nlO>j$vI&J$DBRjxk|Ba*T`=Ph=OmE(N#M0s&(P@P@!I)5xv6J7;7u_5oV?7(d^$NI~Eu)FP z9TbC1gG-pzL8?!DLIxL3UqQu1rm{X=1vAjzk$8MPUMl;5>WP2rWsMi4_LI*EoFeh% zQ^S!z*(qZY4E9t&&2!mgckPFR9CF~lA4~=_$zo(ybt2C)2vS1;Zw4E&g)Gp>$N1g` zZD3EHgfO5e;fQWYj$PW(bM}O+S1Ru&TRZ2xsYXVuSJXUDp3wOHRm(w>*y3N)dKBN% zw|He&zLJSW-`;)YBdIeFJMmKNuM^IIr~zZPSqmf!oN(c@gEW7Bd zvIcN>uJ_Y3g5i2Q71@c&J|7jLQ^Y*9#nM!uM$p{9zmcok-oH*7!yTCV8wxsq)GLTo zLc6@GnS4BV{Xq4ygjEPrxB~0LvYFBupsW=Fkr`@bJB?whc)d01cNGy=Ave|a3HRlDxF_n?aka|9O!grHg(x?y%m zn4c`8pggl}cd4ZK9hH1j7_ih;#tCI4Z)w&+_kXKP2oum>2L%7~6B(1;H{$d;ym0_y zCcyN|5Clu2Z8At1z_;w_NMMxpfH4xPj;@#PdZ~eVYfN_UcVHyFE#=X^2`IIY1y(LN zl}AZTjw)YeFEyzSOmS#&@RZ7nmgyv3&3Qky5b{?pSC|OH3iw7pRx)C9)b4Pfwl?(5V+Bk5~}{X_M7sM!im_1K?QvFO9|bk!jU&!@M9 zh7TAI;Ru+$9TxmtFI@sgW1ZcR(uth2EFhqxpkd^oHlO=%EBjb9ofzR^D00jmw@eM~ z^YpY|<{>6HtLp^LLuBZr+e2M>Vdpu2sNVW&UIT(q&zZ*EqiG8G51^o-RL>Lwe!*DZ zXj~&gU&qMaU{_FF|2V0V2}$hpU8s@-c)jav`EmTHZBME0p8!LBJRI+o#jExOY_8Ik z_*Voqc93%B6*1uzuWd+2Eq4QG7)2`z*=G_OfcleoUehS$7mou|pb;#_#IN&yo?0C* z6$1)A$jgwnGVSQ~fq1raThLjkP}3R^C3zl?FRDGzYx@dxvn1h8$LdHjjoG~z>}v(V z`KkzVlSn|SchZ84RlsZOi5)aP`g?2O9BZpt9zhqm&g8|v?!-4)KjnA2n~ER}zM`&L zV~wTxoMh+d9^f&$!pGrm;*T<>T&>@rPv+QB`QL(QYfq{+R}b~8!`;KnUpcX+H9+Su zQN8c-CGaf4E4uph@8^Tke^hH#ZKxP{Ja1@Z2pG zw)~w4L2o)lpT6$@IA!0HX~z2vtm=<9l)DPNWSk_dntb%!)Lsfs&lc(Geq`m-XMFIDU`1bPgQR2pG&m? zX>)Z!$C{;UxBe6`*855z4zDOe25Mg==K>}dkqr~K;< z9O&GS-GcUgbU-uxkyCs+`x^8M&_iPn= z_un3MoNKlS=*gKCF#KUBgn7rL4}=~8RgE1M z%MV4p;Hvz`f(|r|<)MNONTB6N*eT^ZWh`N(&h^~Yn&L(n^6EiBNAN?!V?X@OTwi_P z4~_sdYTfOlOhyQpYz#C6U6XHx=waL!{6 z&9aZos(J+H{Y=1q^xXI)eF((D^+M`%CbvGp4+WTC)%aC+G-cK3>#rz!mc2{AoZNDb z8PL?xYm5mpbgOx_-?@m-VhC~MZrfW4^>6!L|H4* ze$-!U@3i-ugx2BN)63!us4wejDv#p$QTNdLsddS8{aUBu7=*v$+%LN$9lx54Ka_a^ z>~BtVXYeL@Q@bl%wygK9n_gDx@@xDBvAwB3c50FT&n2qQ?-&?ZxcudnP^^QtQVOmA zU-%M_I4&SggN^0O-RlG@3S%Pk5~~#3tY#&` z*ImnD`&#~}*ee{*FMnrB5N!o8+gnXz`W{V6e_ANqRNcMHt4((W5T_t2UW}kP5C17rSl(3+BjTH?8E~i*(qf$ZkP$tBm{aQ zdy*JK&~co#!x33!DR0$E8i9)n9zE0`KPq!C`HA8pbX4fY^jnnjjy4>IR*bNzw>PnI zE=hPsu&%%B$R~kE@Nq{;&aklRhC1e-Q{l4*kHUOn`azXZ7G*Cv7`(t-YSQy5hUQI6(6H;7Yv#X5Q{YMo|2qXpJFT-EDKia z68AsClb0GN%oD5yefX~t99FQ2N^#YKD?f)E!e3w)2h)ekZSlT zdKNgB-zpyDjn$+Er=HP~*4S1Zr%E4`9kdE7T+6=vxz!kV|Mb{DjccTGrYOcN;+j)Q_<3DnQ9p5VflL{WQt0fOAbm%qv|3HVwgYt+NY)3~41b>+QZ|3GA%B)f?1ag89j6=2#^%SE^R00@s)6H}&1alT~B|-uhS+lU1uSmhvJStz!6cqzI z2PXPbBGGKr>D@wrY2)k7wk8b9*Cam}?Pi+vM!Cs=j!L7vmDF2TaXr7t8nTYO(AEJ5 zIU{}wElm&W&BC+tOZ_%#!*vcAmb0yT=WS!OLB2FN0JWSpVy}iN_*zIb_;%&b>~)MV zwdUWwredh5utjQ5zEddW%5&XeZqF|Y1D3=bSXeY?(*KNy6pa*{i!zI!Au_cy5GrvC z6pkM3YJ^3moQDu(FR<}uAz8yt?vOW>F!KqR*9c^GI|L7=V|hfJSI3IpV?~ok)$mgN zbb(uHu{B{YXc=|JFk5V3tR=xfO4FA!nWTjh@4p5 zX5Q3qI~|Iq_V&bcX;KY$2!&deEm6VLaV8F?M^j1|YxmcyE%KOLd_Nyb)|*T7MtU5^ zzqiBw+l}C!SHg8^Ko>r3NzJr_WfL5(@9lBOEOYLzcMUf^jqkCvTI9Gyy)b^q-Khv- z_ziQ(%iP4?gQq2rEJAHJLm+Y*Q)S5c#(11Okt%{Ba{J+e;fuP2u9DoQo*A-zYht1f z!rP9Z0Bw+orRe??N*i%!yOe=Qb$2vi$>HHN4nvH#CV2{R`Uws*zgar{_1@eN2~7K& zQ;o1{XV~c^c|EZI1@;*o*MoN@EhsNi*&2@GjBXdhjQ@!tcR{_E@1(S*ey==R^uzEc zb0NpUk;am3Bnhsb3XU1-6COcm&HIvC;V&jw{vT0(-#xQe)NO=}ruK(*8x0){#ujU} z`ijMyZM0KuT1zP~2mYiLSs>IPKcW80?!-=ql$fI8T^owIlu#;AD|0SFUS)D2Sdw1| z)VqReL9Gmx6r2z=8=Hp`vB+uJ&!`viDSMTEI6394bXRpKm)EGP(pTS5OcjP!tU_97 zrDM{_tLD>f@4o#j-Ff?G>~gF_x`sj(>IH0b;62uwik?O_zBXp=>E`Lgt@5FC@-T~B zGEfpO^OSl?9h+WDYe#ePqe7JqvBW*94i7*hpzV{-rPo#KVddoORNhvoN&V4wExYrl ze+lUc$DWQD#_H=2kIwpz`nCkdE@;Bw@FAus_bARt-#_H~H1?QkPNDzHP4qv9QPh+G zg(aaaVbkw8CnB531(e@{O(BfAEs!xe5tc;XedjbMH#nzuuZV^jFMHJYuIOlc>Z5e` zXmnf{maUAlwGoq!JbQ)pakLLqf;f6x^xXp7w+Mnq(>`|`{1NikTP`uJp%!H~+asKh zEG{;&rBV{T;O|!fE9)y0!ffMYmlQL+SwEbX8dUb`>}*5!;{#787KZ4*{T6GA%|ubC z31SRg8YwTAS($hkT{K&)tXrKnHz9a}Ia>-;7@ZzZZl^NE9s0^`NnWH={;GaU@#03y zt!x2%+!7`<5&)l{Pt`wJ?n|bW{jOUW!%rAa{i_x|O*C#Rx|YEP+P@}`R;;Z|TWlGz z1Yv=qZ0+LkO!Z4FvLCK#r`0ZoI}sBh2~3iF9IY7 z)|<`j4{PNbgo|5nY~?tDabn*DjCsHhxbU*(}LrJQ3@3)?!`AaM^dzI)i3#3uiyMUn}#lEE!*O z1UtCmb+&=gu;SRY4>SbR?K9BSN+^yPh5fr^V-dYAk}kiU8D?!Qe!AOP9XT(B4OzXi z$5P`J+N9p(kS~cxc9vdhPBh1Xl7cWZif~6E%($YDVH7n;Uclw~(Dn4S?&Y}DgXC~P z7PU1I{x423H^7%#N0rBm(}Gjcg*TxOuxYbecS}c=b?^hY3^xS?sO8gsu|BvQv-{i? zMGen@HSdwmRX%o}tV z-yC{Fn?}5tvT=MzhZ8&1M$F>`m)?d+D-#<_r|)-xAiQz1$qac@3+}9M7@7~sZQMyp zxXd_`Tl>+@Y*D2Q&PA2HIvK4y9fO}7e$?Aie*WwhjP4QoP0@y>Gvk^@htT^1sm);P zmRON;?0@-2Oo!&v%(gcCoFg4>Kj-{=F~WzGs#R7P9UVp=Jwp@FpI z-rZ*wLqCYtM7i-#>xqqvQGnJ2Vf|95hG&$rc4WR*>YG6AABv=egP9lSM5PzY@6EOK zAm*By^|oLbE2k-<5W@X|qrbbo54K`cpF|2A{FbTQ8cAcq$l-mp9dXaQmr=u;pGk2{ zoD5inVAND>iBOW;oWt#yBS^e5hzLX%ZI2!i?x?iK$A|t`9DUl>-n}sZtQ45VtookKtop z#a<%|;iT6az%&_wM%m^7JaV2UiA5~%9*}z5h&-2HhVBjL7;fTtDyOU-a1wY~Lrs9IzdvlBl9qhN-;S-zK z=fmxQ9CW?d`|vEN298;j*wFGe+-0MSsFJefN9xkuV>tL35}A!bVMFx#)&@J(rsZZ? zafV`6>6}R%Db-%9Y3mrI-qG0lSZ4#Jh|A2j?q_yBruAh1vRCT|1WSm^%1!BN@LAQj zg;X)<>)^5I)NiSE8a}Z;U)|Nor>(D} zuRWQ*Mep0{8e@v`>|;f00#Zo#)AXr%_PJ5KDcJQL(usnPN*;>GbH};ZC7edg4+pb; zckkT@)ro}f(Az|@bUOg zbyw5%|K*SraQyXy02AtEvtE%{{41edO8HR4`6qvLgk(ti-|!_dNt1JK1XcpTD!nd| z;mk~XD@xN9`i+AX_Xh)k*jB2@APu2;j>-fya(C9T|033JuIeqvgoCx-1&3v#7aN1Hp>xG}N@88KAWxHMNDO1-m3+8Nfe58DvGLM4r? ztox>p(gr?-6;NOmDnkmoV7?XaUbhu!Qu^BwzBhM70o5Dcn`OI*``Jsksq+`%ZV=tP zD0#J6em(#u7s$?%dMBf+wGLO_v5}6*O-37h(0Dgl7?}oDQ{2uzQhs$%@u7!+pd_Wj z1|A5>bY5(dZ@eM?> zIC_PJ>Z5R9GCLw=N4Xn&c<)8;)4k=j_I@JVf%Z7Wjhcsu1>A7-n z>X(+#4rkhC%PIdfMmmzKQ~8B|SBkc=+{<53cd#`*`%curn2nE^2n5=zzt8AS^;mG} z#z0Y*$nVs}vcESE|N1!jq!;AjWP+1Q#$2I}c@_w4$HPk|#vjNhTlpGWU{5=~JTnvd zivG(t$&89vM^AiAbd^96J$IUNz5g1XNVLdivO*V~Em{$JclHnnio5=eb^x}h{Io|; zB_IspAR0TOp20xqTkt^Yn-3Tqug;++PD@8uGN$m~&2dIj8bRG2bXN$@l(I-PA%>;# zW@hN#;1X}?)^vfsXBflFUXAD}Tv9r}8V`jVjzZ|R%C=Y!xRj_X+)a9)R>$J&hkj7# z6s|puE3!9IdgvykAcnyxkoqeokam;d>zH5)kken{W7vn&zsf_giv{>Ykj77SopP)& zFMTjbb86{Ua1xjZwz|B?`QJG;CRhQr-bQl%k@lnLWuUZ6jIcJ*O8iZ|cSf@mZo)e( zIH2HPWL}^)%4XU0EGofJL%>{11UVW3+kX8EwZ8{p%&QXUx@p*JQM+=$j2T*`&i-<@ z2QDFc`7tnc)O=q(fI8|2Z<(_%GsB2xzo?M4FeC3a1_PFR-20q;ZQWqeEDC_)QQ!22 z(cA|5MpUiM?|4#6H#^|R!ad14m*%S0Id+!$pTrX`JT^h0-UBUKB;--mz3VGOfa?T*Sw_^L@h(zt{=Fo5;J2h>w$A;!6A;=%cf z+3(d0%-nWih)5ND?px)zPZdc&GF+02O9oyx|M^L{qe$!xYjL*6_?E`4kjNX`ESlxk ziK?rW^)3h(9_Ko$yWyZZnJQsy_D%+x7v7JYz{|;n_j?IsW{DS$e^OcuV&wSh{<2+% zz>rpHWkV}0uk80C&!{}dfi<6$qJU7RWXH9^U848}?X>i1k5>c6Y2)2d>L;VZMM5y5 zOal7qg#u+tnZ0zj`UMNDIyy4FMfTYL;w{w6h$znX&-Hijt}UcXy@R0_rZgNXF015U z2?KB!L>@NAhz8-e6UQ`Y0afd|CmOX?y4qSA1eNr4rgT?n26TdYekrDqT@~w0S2PCd zn-JO%UcY;JOVVW&(tAGhBK6KH_uLmzSVMhf@N4#PzgaW}wv~B!I;kiz)zUIDmVz2# zzB2eUJEmWuJGvR^2s2dEt9~An>!PQk!w16$y@wR`>*UWr{wEUV(>d||0NMa5ZZeU5 zrRkfe7X-QNqEMH5!~u5#H8FSnBy1PgO!+qN@B8%tLtZo_(;WVd-xHW01knEW2Sz;7 zHJzSceo~;_xK+r~Tf^1jnuK&R)$QfAl1v8Ktdae-DsxiE@IkjF@$}5~mzlE+YB^@O zfcoIA90V2|XZ=Q7Q`SjzyVN#!Rkdm}H#1mck!be|LW*99=xr{wF2s1x(!>y8@LbXsHQxFgI6_VdGz zNeEl@km{tWiKKg2I4diMPta`Z0d@PQ1(0;)`k16x^H5)GNpawDadTQj;`P)g*oq_$!$;SRRA0>L9 zh=A|tr0lo2>(eLi9CpV7hRI;*%Do||b?8MBq|>el#gJe#i9>P~aoJ zA_rH0R|{j{9;7>6FEA>q9a>XQ+LC|8_>%?HXm+&PBESv)=+GU1i^l)LRvDG#m2wNZ zqJu*L&QeUrRBpZd#YS)UW5{rQ5Z)kW7{O%5A zIeFgKi}{mD!lz>`bESWS3#`l=bp3Uo>aLchJpZrKZv5FKW@M4XW?X2eE^Xp<@UySReq6mJ=Zzdll<fMBz{ubn&no&DHLX10 z`V_$deb3)~W3NY#I3ikxl2b!cbI+a8$zlwxAg`CYIdIg`rT|Z{N(Ds z@wzJaVLkkpwfkxR?rP@K<6z!4#4Y*}Ln5xSesn`}sgQ_wbg25=-b3uOdq9liZT9Hs zp_ls+n_0VMIO~_%pWfu>(dE;5Bh+>RvdZve0%Cn}ZbyrE>%f8$~G9KA{;0%dQTvTj}or#eQsv|Wa_TIwiGm$9WwYR zJ}*r((cl8p0(ANEl@*^_Xcr>$vfm$o#5b z$6W$DHZA<+@a^2V4IZxa_zg|s$Y7E;daT7P&OkPUc>k81s8pjoqar%)8HXOP!8|>Q#v8V)z@aLCf zY#q};bo1Jdq^#M;bzDEL-~VXI>OnCeAwe{miJ#*vD;}*uX^G-&BeUdY4A&j`)oZ8{ z1e1GR%=(=xDi#lV1$;)iJ(5(bT%His60z@emMD@omz*eEghJ-RI^l`3|97Hxl*BSJ zxuPSI8hK-GP?-$(_tjBB$O@TBJUuYNV>3^gIxp z;7sm8F$jIJ_gO^s??P-WM&_yAada~4bDg&OeW0tVs-v0aC6(rrSoBE z&Tjlak3rH=;Ph_FBVZQR!S8!#p{BYi*90BsG9rk-P+kx74C`)N{oaHUBH(kh-ED3j zz(ahU*we#ZrnJkrI9kdsr2Y~?T)OQ@(IinbKv*k?^xlg&Fa5-eDOzO1SWS3@;;L;51Z%d4^F?mr*~kr@_;Jr);|n*} zAeeK-?c)ca^hwTj5S~OMmjY@^KgPPdMfkoCWd11^F3-G?vL5J(ygAruiNUS|}S~a?>zGf0qcYG*j zHw+K8bIic^U3rMk$0^2)m30y=BNQC)>9$!QymaP%l>2Yd-nsYZjw2R<0j#}&0cA_L zhql%{+iZ1bH?We!9u5lUx!1lw%1Twj+lA~1R<~^9fSuQ+(MmN|&hz%qg)2Umo#oFQ z?VS@uqrwo)ZX7$Gnx(K#$Pv1hyQcK$wUqVXKiP!7TZPd^N3EcX^P#aRQA9O0`AU>n z^IoYbM)|veAA%Eb(lP!#T4*3sfp&=@}cp_H8S zSvAS!GP#HNOIqFte5y~KKGk2pyQaO_GvGk6{%Q?D7;6vR2t6NDnBD=cFIzb0OU_^1 zpSF)Yf98w!MYlG8EBW=F=Kr)4ve<6Vh*uWGRv$V;Isw|V>6^2(b6qh_>`?kQ%H!(F zn#LSv^KiU`sCI%o{^oeNnB5hMz_f!X1h7n(I@sjRJj0Y7Ch>v=ca&N|bG*nm)_U_m zyb9s9q*U_VCFn(1b5rsOsDH{d8wYb1i~-Axu8DJ#q&U5~my%e$M;+ISZ9Es>A?J3C zUEa@vd<2R;z^nO|ARB-VOArgPlrvRm*=Q_^Id~XkvoDgc{Np&UH#;%k&cT7Pt-8$> z${S3`_3hhIR5_wXohB9pwvtJMsC5=0_B&RO5MH5i3)}&|%$ABrr}n-&g$*Qpz4RQn zu1s^WnI2QQX`XNy$qNVE^@!Y-Sv{dwL4g|eGOVd2qY?0Nlno*%#cA^N;V|guBPs%2 zGk)si)=)KK7g-H#`BSokZW8jn@OS35M9cERjT05068t%20A~k+fwubsL zL~)}*QXYRmSI=mh0QqfQLcA)ZF{y*93P#uUQfM=)mTYp+oCRN&h);V^$oG2mTR1*4 z{WHdMmD|?Qaxp_|&KEA98O7`t1RfDn*cOR=LA>SzBCtdg_XyOx6wqIS$3r z_gMalmpAa*`+Ix2wtl_XKiU>ESoYVE1AIs2I+Rgqe7!}Nmo5X;B`FDZ15xXr89R1L zKLLbZ^;Ur2l6WW*?G9c`H+I=zAN(9pQD9Ud1Gw!z0)99>)f-DUVgQp&cC5Ihi+BxD(O{N}1vVnlrD z^O5P`3llp3QH0CCoHJ-Lix+}fZE0F|9*1R5i1U}zD!Z@xd;!USte0Us-Mj0r=~Kh+ zxZm=r`KNp1Bo*Is`x+lK-w3>#UyZc$qdSH=Zqs_xx_X<7Qdo9UyVzb7o%vtn z?mM@WM~FJ4qh7E<>y-SSp4Zr`j}0YE$2sEhn+d}-d(1V9HS=_HAWlAEb2KW-E?0Y} z=c94q>(Stk(3}0_(7(nucRkZ-1T~qy5fUHs^Tz*9QO%+{78y6*f^$=gpnFe43#qd|&Z!fl-?rn)a@b0}i!yb< zH+Dti#&T&2&49t-8?cZN_JdhUXh8}9FlDIZ3yYBB%=^xpa&P5YqE-yUc%j? z@AqfL9<@g9l*K{QI~- z&FU3kC=lvfihJ%N6x%ec3YFM~YmQ1bB*P53QU-S;k>v8 zj|`bP5QP8d*@TxXg*R>OI!Hb+Cx|uuUUJ!DKn;n}yiAmB_q?OF z?x;BZvvgM@^F>VK@1pUoh>TC?lHE)2_Q`-NQWOg^O+sxOxdJ-zI~S&^AxBAv-uS%B zYBAyR*|Ui?UX=l{iCMi(hsv&rN(LAa|2=!^ej|zXA{zfmD~0sRAxyyVouYoI0v_sc zHNA-DtF|~^%wxnK>(?qIHWMpO-CS%|{i`b_xBr;QZ#+Vi9i{@p&Ygq=Dw*2W%zSMN zN!G)6-Ik7g*F~tWx&H~)%?y(bYIQ3Di!KhKd5UA;nU<}U3f6w4$0)}JV9SQcvmfYR zyjc0d*j~?R9H0)r<5!V|>JsOfhiz3}{bOH*GwKXF--OrYKv_lW<5Hk5M(XcEPRl2T zZ7AA^CV!TLI&2x6=kqmX3&sHVW#h0tGKBO@>mBp{hKg`>6R4Oiv3LzfR1#Pq94W;T@RY>Rb5Kst@<`d)A3b?jU0-1oE#UMBz(U9)FiHHS0F1498V!=i8uDvV!mGkg` z2my|!y^x%LjF*gp$d^=qDq$!Ej4}{b@Z%C^!adl^1b1=t5R*bD9WF!=dze6OlGp!9 zm^UfurwL~wRp;n+O{4uD(t8scxI5Z9a82x%`OW)|2xzM`C6GR_?OdNuV&`R?lEa&A z|Ha!JP&XSVsEnV`{8#6ug7i&P#svPurk%F2aHEx|cju~*jiACIK>Ut-)aAWMFUl!* zug%#J!Thqk(-pTydlaXN{L_l9!k4P-zGOQ?tUXI40E04g{RX2dLUV?kI%!H!h}si& zwELoWOiud;FCO0M9{NV9nOLY#(1?LxLJQGrua==jUSj;OoB3Q4x5hA0b@bx~>MBEq1Xc*U*@F5; zOjx89YWu5x2(4xC24*v>ou_Xm<{euR1Mj!cKUepByir-<2s>k-&guf~zUc;wRAtkQ z>vPc0I3Jk@0k>9I0Jqje-gCH+aT|kvaQV|G(x^Li7Tosx8ixXhegDK7qT6wxIeWX{ z@Hj!DvgX5rZNpau77|XtY|cmg$>!RaehtKAP_|f?>pXIMjEEeyUjuAV9}t`aNBVD2+arx zdK}&w@jGlebWlN;FJh_<0{W|B{_jliAD=#Axqiu@P3!6<+kEVSD6y$6o-UH+NG8X$ z1)9@PO)G?}<5->NW=3Cb{=Qy_HKG_r={Y?BR&n)J$399BH=I6l?lVHGLm~Nub`1+O(dq+WF&ssElLZlP2D#%@&_&#SH!{1e@On`$cKZX-`v$wK$ zA6;UrmQt6pa#}dPfus?ecCuTI0JFi*V9r0$ogMdZTSgnwlZ%sH4SEWJ`8^{F^=xeV zy}GH((Y=eAut_k-Xn^lgLJ+nWT4OY;XS>aKm}1?FNx+eW7S3mZ%0Dgts2bH^V1IR& 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≶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

b;|5>eQ z377ZDWyPoLC^0t>GsKr^2ma{z0(Z^LonEJ?l+v?Zi!Xo)1w2#pBZ@b0H|F40t=peJAZ5wSxMd`fS56tTVl+ zB&bL7=hA=3V!Rqx1kHpbvCHylEj&o7H4-~8JhA1H$-P=0b<;c5&okI7_35qJtygHK z#@rjfC&drgoT2_pxIx(oDDi4@Fe^cqW3aiY&U(fyb^^s?h~B$x zfa|zTzi0qYs0`}&%YAZdpzL!>7xK+@U(7pk$y@f^qhAJRVWf}`xpdS8o;4-i`F31i z5kFdr^sMb4`a}(q7{4rWG_P)}b_j0oRXJ#~?JTP>(PhK!^tdIL0yz+-e2u(#XYrGZ zrlK8eh)D} z$zlxo@vbXzk?ncnd>Ygn+Cooj9(nFVjEcW;8mgOJcz=pV0wNaDEKtL3+;fZQPIMO^ zvKh|p)M~U2!20F+5$Lg#PHQeqwNMQ8^+s8_8DzP)5K}0NKDeCGG5a6M61DwLkjd|o zZ=kK9w(BoPx%Klj<{Q8c9IND2#6X))8s)Ria``ZRBnV$-+{w#okEHrNCC6e_X8SxG z!fg7MLpjm3g^!`j_@I`ivY7UPF9wN0pW-VenE=6#T7lPu8g&h9e?%4Q5>3AaR4TDh zT9n)+a3SZg%@=(~1Pbfw4OfNfGG3#N-eUKvZKPWO`@9JZ5Pyh?2rK28e`d}D~LS{SuJ zhSzJ&TjTNdRvIPg8wlTLJB!kY5Hmn;!5yVuyb_WhEQ@!*&ria`%02;oSq~#N&2e7{^)BDAHD=UR}sV+;G_J&oKD~r{L2Jt?FQWDRBBV( za{+-(@_IAnvMpoappufVhOX|d6WK?_a_C7(tw#qf8AqJh*H5P!Q+A^ONmdnvZ>|F6 z0vW6gpmX+DX53}D!QmFmeTpn(3D z{d+lwcz3O1MswcX;q9+GH$nnWfA47h+c(H^nPBJ~EC?rX6(~l$by&<65nI57K(S+U zn?y!20ta>UClweH`dA{2E}$TXWje5Y+a22%c+92~%64IcsSGZ3WsldC>&u_*(;l8W zRt%j)V) zFfmOqO|*K~INw_e;oRCk5n%aZ=G_!-dEvFzz^cM>5Q&OQQ6RJ+cFEzyxVhj_h2UV8 zl|z-ih)DMPpXHLgdOSTX^L>Iu`kAk#g*YSZIyY(Ango~! zW>{e+`e^8#vBE?VJWd`|6Q6*tx8Nn9K`H=Pzu>4-%>>e1FuB+s z{&w}KR7SHv=fTdlP62N7e=+_8>x++fVzUeP;! z0D&q#zG5F?#i;tpjlW5bcA0+-RTATLOL*wEbgelsKEzFkqvg8+Hu!E= z0<2{NYltu7JupDcq17MclPOV!^WSa;0*To?qlAs;Xw0ylSv8nmn)6|Puiw#?V7gM8D|%H{>(F180^d13*BgTgwOgVll-@(8T-we<%v zw{0{XmK%+_dYd=rt^@w~N=mtnul5X@MjXd{_f{1Huc(VCAG|KM8;yO*RIb{qU`CWJ z96|gD5on&}b zTxDRU8?1YP5{KoFrQ67I?8VsSGM%xI0cf@J!(HPVqEUEr62Q$sxYmg6%pOYN5&ENfR^8-{XTP1?JRCtsz|<8r zSG16tuv6kc&Vc{r>i9uWW0TwY6NuzQ;{LZo(cKTO|Bd|QXMr_`>gfn$;1`U9J0;Q) zDe*)HWfrjEn^ks~@dN&0Z1N=lq9(*4x185>UyMvohXzcTgcVU7`ja%UcF+;kz3`|N@8F$EVwPtq zG02%CmOLwQm6rHjlx8=-Aw?BYG>L}iJuPloX`K1681xjiW@cVw)d zAO}`G)H>0BDMv#Bp1@cte3pcsH($AYA-QNkRDRM>c+ryi>37VRR5%`W76 z*d1&`g+@ Date: Thu, 23 Jan 2025 00:53:12 +0100 Subject: [PATCH 23/36] reintroduce the unrecoverable error and use it where its supposed to be used --- crates/index-scheduler/src/error.rs | 10 +++++++--- crates/index-scheduler/src/scheduler/mod.rs | 10 +++++----- crates/index-scheduler/src/scheduler/process_batch.rs | 6 ++---- 3 files changed, 14 insertions(+), 12 deletions(-) diff --git a/crates/index-scheduler/src/error.rs b/crates/index-scheduler/src/error.rs index a41672995..d3feecd73 100644 --- a/crates/index-scheduler/src/error.rs +++ b/crates/index-scheduler/src/error.rs @@ -147,7 +147,9 @@ pub enum Error { #[error("Corrupted task queue.")] CorruptedTaskQueue, #[error(transparent)] - TaskDatabaseUpgrade(Box), + DatabaseUpgrade(Box), + #[error(transparent)] + UnrecoverableError(Box), #[error(transparent)] HeedTransaction(heed::Error), @@ -202,7 +204,8 @@ impl Error { | Error::Anyhow(_) => true, Error::CreateBatch(_) | Error::CorruptedTaskQueue - | Error::TaskDatabaseUpgrade(_) + | Error::DatabaseUpgrade(_) + | Error::UnrecoverableError(_) | Error::HeedTransaction(_) => false, #[cfg(test)] Error::PlannedFailure => false, @@ -266,7 +269,8 @@ impl ErrorCode for Error { Error::Anyhow(_) => Code::Internal, Error::CorruptedTaskQueue => Code::Internal, Error::CorruptedDump => Code::Internal, - Error::TaskDatabaseUpgrade(_) => Code::Internal, + Error::DatabaseUpgrade(_) => Code::Internal, + Error::UnrecoverableError(_) => Code::Internal, Error::CreateBatch(_) => Code::Internal, // This one should never be seen by the end user diff --git a/crates/index-scheduler/src/scheduler/mod.rs b/crates/index-scheduler/src/scheduler/mod.rs index 7a55c9f54..eddf8fba7 100644 --- a/crates/index-scheduler/src/scheduler/mod.rs +++ b/crates/index-scheduler/src/scheduler/mod.rs @@ -223,7 +223,7 @@ impl IndexScheduler { self.queue .tasks .update_task(&mut wtxn, &task) - .map_err(|e| Error::TaskDatabaseUpgrade(Box::new(e)))?; + .map_err(|e| Error::UnrecoverableError(Box::new(e)))?; } if let Some(canceled_by) = canceled_by { self.queue.tasks.canceled_by.put(&mut wtxn, &canceled_by, &canceled)?; @@ -274,7 +274,7 @@ impl IndexScheduler { let (task_progress, task_progress_obj) = AtomicTaskStep::new(ids.len() as u32); progress.update_progress(task_progress_obj); - if matches!(err, Error::TaskDatabaseUpgrade(_)) { + if matches!(err, Error::DatabaseUpgrade(_)) { tracing::error!( "Upgrade task failed, tasks won't be processed until the following issue is fixed: {err}" ); @@ -287,7 +287,7 @@ impl IndexScheduler { .queue .tasks .get_task(&wtxn, id) - .map_err(|e| Error::TaskDatabaseUpgrade(Box::new(e)))? + .map_err(|e| Error::UnrecoverableError(Box::new(e)))? .ok_or(Error::CorruptedTaskQueue)?; task.status = Status::Failed; task.error = Some(error.clone()); @@ -304,7 +304,7 @@ impl IndexScheduler { self.queue .tasks .update_task(&mut wtxn, &task) - .map_err(|e| Error::TaskDatabaseUpgrade(Box::new(e)))?; + .map_err(|e| Error::UnrecoverableError(Box::new(e)))?; } } } @@ -334,7 +334,7 @@ impl IndexScheduler { .queue .tasks .get_task(&rtxn, id) - .map_err(|e| Error::TaskDatabaseUpgrade(Box::new(e)))? + .map_err(|e| Error::UnrecoverableError(Box::new(e)))? .ok_or(Error::CorruptedTaskQueue)?; if let Err(e) = self.queue.delete_persisted_task_data(&task) { tracing::error!( diff --git a/crates/index-scheduler/src/scheduler/process_batch.rs b/crates/index-scheduler/src/scheduler/process_batch.rs index 2f4a8e7da..d54c9a171 100644 --- a/crates/index-scheduler/src/scheduler/process_batch.rs +++ b/crates/index-scheduler/src/scheduler/process_batch.rs @@ -319,11 +319,9 @@ impl IndexScheduler { let ret = catch_unwind(AssertUnwindSafe(|| self.process_upgrade(progress))); match ret { Ok(Ok(())) => (), - Ok(Err(e)) => return Err(Error::TaskDatabaseUpgrade(Box::new(e))), + Ok(Err(e)) => return Err(Error::DatabaseUpgrade(Box::new(e))), Err(_e) => { - return Err(Error::TaskDatabaseUpgrade(Box::new( - Error::ProcessBatchPanicked, - ))); + return Err(Error::DatabaseUpgrade(Box::new(Error::ProcessBatchPanicked))); } } From 9a577367732e75e9eeab5a51ff6394a03a26d06d Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 23 Jan 2025 01:21:50 +0100 Subject: [PATCH 24/36] fix the early exit when rewriting a batch --- crates/index-scheduler/src/queue/batches.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/crates/index-scheduler/src/queue/batches.rs b/crates/index-scheduler/src/queue/batches.rs index b77602e1e..5c8a573ab 100644 --- a/crates/index-scheduler/src/queue/batches.rs +++ b/crates/index-scheduler/src/queue/batches.rs @@ -228,14 +228,16 @@ impl BatchQueue { })?; } - // Update the enqueued_at, we cannot retrieve the previous enqueued at from the previous batch and + // Update the enqueued_at: we cannot retrieve the previous enqueued at from the previous batch, and // must instead go through the db looking for it. We cannot look at the task contained in this batch either // because they may have been removed. - // What we know though is that the task date from before the enqueued_at and only two timestamp have been written + // What we know, though, is that the task date is from before the enqueued_at, and max two timestamps have been written // to the DB per batches. if let Some(ref old_batch) = old_batch { let started_at = old_batch.started_at.unix_timestamp_nanos(); - let mut exit = false; + + // We have either one or two enqueued at to remove + let mut exit = old_batch.stats.total_nb_tasks.clamp(0, 2); let mut iterator = self.enqueued_at.rev_iter_mut(wtxn)?; while let Some(entry) = iterator.next() { let (key, mut value) = entry?; @@ -243,14 +245,13 @@ impl BatchQueue { continue; } if value.remove(old_batch.uid) { + exit = exit.saturating_sub(1); // Safe because the key and value are owned unsafe { iterator.put_current(&key, &value)?; } - if exit { + if exit == 0 { break; - } else { - exit = true; } } } From fd5649091d07a0973205969ca895945af128239d Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 23 Jan 2025 01:52:08 +0100 Subject: [PATCH 25/36] add the upgradeTo field in the details --- crates/index-scheduler/src/insta_snapshot.rs | 4 +- .../registered_a_task_and_upgrade_task.snap | 2 +- crates/index-scheduler/src/upgrade/mod.rs | 2 +- crates/index-scheduler/src/utils.rs | 2 +- crates/meilisearch-types/src/task_view.rs | 14 ++++++- crates/meilisearch-types/src/tasks.rs | 36 +++++++++++++----- crates/meilisearch/db.snapshot | Bin 172051 -> 171873 bytes ...rEnqueuedAt_equal_2025-01-16T16:47:41.snap | 3 +- ...rFinishedAt_equal_2025-01-16T16:47:41.snap | 3 +- ...erStartedAt_equal_2025-01-16T16:47:41.snap | 3 +- ...rEnqueuedAt_equal_2025-01-16T16:47:41.snap | 3 +- ...rFinishedAt_equal_2025-01-16T16:47:41.snap | 3 +- ...erStartedAt_equal_2025-01-16T16:47:41.snap | 3 +- ...ue_once_everything_has_been_processed.snap | 3 +- ...ue_once_everything_has_been_processed.snap | 3 +- 15 files changed, 59 insertions(+), 25 deletions(-) diff --git a/crates/index-scheduler/src/insta_snapshot.rs b/crates/index-scheduler/src/insta_snapshot.rs index 3ddcdfcc2..4bc2beb05 100644 --- a/crates/index-scheduler/src/insta_snapshot.rs +++ b/crates/index-scheduler/src/insta_snapshot.rs @@ -291,8 +291,8 @@ fn snapshot_details(d: &Details) -> String { Details::IndexSwap { swaps } => { format!("{{ swaps: {swaps:?} }}") } - Details::UpgradeDatabase { from } => { - format!("{{ from: v{}.{}.{} }}", from.0, from.1, from.2) + Details::UpgradeDatabase { from, to } => { + format!("{{ from: {from:?}, to: {to:?} }}") } } } diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap index ca4892f85..afad39e32 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap @@ -8,7 +8,7 @@ snapshot_kind: text ---------------------------------------------------------------------- ### All Tasks: 0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, status: enqueued, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, status: enqueued, details: { from: (1, 12, 0), to: (1, 13, 0) }, kind: UpgradeDatabase { from: (1, 12, 0) }} ---------------------------------------------------------------------- ### Status: enqueued [0,1,] diff --git a/crates/index-scheduler/src/upgrade/mod.rs b/crates/index-scheduler/src/upgrade/mod.rs index ebedb13cf..4e850aa32 100644 --- a/crates/index-scheduler/src/upgrade/mod.rs +++ b/crates/index-scheduler/src/upgrade/mod.rs @@ -75,7 +75,7 @@ pub fn upgrade_index_scheduler( finished_at: None, error: None, canceled_by: None, - details: Some(Details::UpgradeDatabase { from }), + details: Some(Details::UpgradeDatabase { from, to }), status: Status::Enqueued, kind: KindWithContent::UpgradeDatabase { from }, }, diff --git a/crates/index-scheduler/src/utils.rs b/crates/index-scheduler/src/utils.rs index 9b77c478e..80a0bb5ff 100644 --- a/crates/index-scheduler/src/utils.rs +++ b/crates/index-scheduler/src/utils.rs @@ -548,7 +548,7 @@ impl crate::IndexScheduler { Details::Dump { dump_uid: _ } => { assert_eq!(kind.as_kind(), Kind::DumpCreation); } - Details::UpgradeDatabase { from: _ } => { + Details::UpgradeDatabase { from: _, to: _ } => { assert_eq!(kind.as_kind(), Kind::UpgradeDatabase); } } diff --git a/crates/meilisearch-types/src/task_view.rs b/crates/meilisearch-types/src/task_view.rs index 6224b326c..7a6faee39 100644 --- a/crates/meilisearch-types/src/task_view.rs +++ b/crates/meilisearch-types/src/task_view.rs @@ -116,6 +116,8 @@ pub struct DetailsView { pub swaps: Option>, #[serde(skip_serializing_if = "Option::is_none")] pub upgrade_from: Option, + #[serde(skip_serializing_if = "Option::is_none")] + pub upgrade_to: Option, } impl DetailsView { @@ -236,10 +238,17 @@ impl DetailsView { Some(left) } }, + // We want the earliest version upgrade_from: match (self.upgrade_from.clone(), other.upgrade_from.clone()) { (None, None) => None, (None, Some(from)) | (Some(from), None) => Some(from), - (Some(_), Some(from)) => Some(from), + (Some(from), Some(_)) => Some(from), + }, + // And the latest + upgrade_to: match (self.upgrade_to.clone(), other.upgrade_to.clone()) { + (None, None) => None, + (None, Some(to)) | (Some(to), None) => Some(to), + (Some(_), Some(to)) => Some(to), }, } } @@ -318,8 +327,9 @@ impl From

for DetailsView { Details::IndexSwap { swaps } => { DetailsView { swaps: Some(swaps), ..Default::default() } } - Details::UpgradeDatabase { from } => DetailsView { + Details::UpgradeDatabase { from, to } => DetailsView { upgrade_from: Some(format!("v{}.{}.{}", from.0, from.1, from.2)), + upgrade_to: Some(format!("v{}.{}.{}", to.0, to.1, to.2)), ..Default::default() }, } diff --git a/crates/meilisearch-types/src/tasks.rs b/crates/meilisearch-types/src/tasks.rs index b798cacdb..6b237ee1f 100644 --- a/crates/meilisearch-types/src/tasks.rs +++ b/crates/meilisearch-types/src/tasks.rs @@ -16,7 +16,7 @@ use crate::batches::BatchId; use crate::error::ResponseError; use crate::keys::Key; use crate::settings::{Settings, Unchecked}; -use crate::InstanceUid; +use crate::{versioning, InstanceUid}; pub type TaskId = u32; @@ -269,9 +269,14 @@ impl KindWithContent { }), KindWithContent::DumpCreation { .. } => Some(Details::Dump { dump_uid: None }), KindWithContent::SnapshotCreation => None, - KindWithContent::UpgradeDatabase { from } => { - Some(Details::UpgradeDatabase { from: (from.0, from.1, from.2) }) - } + KindWithContent::UpgradeDatabase { from } => Some(Details::UpgradeDatabase { + from: (from.0, from.1, from.2), + to: ( + versioning::VERSION_MAJOR.parse().unwrap(), + versioning::VERSION_MINOR.parse().unwrap(), + versioning::VERSION_PATCH.parse().unwrap(), + ), + }), } } @@ -330,9 +335,14 @@ impl KindWithContent { }), KindWithContent::DumpCreation { .. } => Some(Details::Dump { dump_uid: None }), KindWithContent::SnapshotCreation => None, - KindWithContent::UpgradeDatabase { from } => { - Some(Details::UpgradeDatabase { from: *from }) - } + KindWithContent::UpgradeDatabase { from } => Some(Details::UpgradeDatabase { + from: *from, + to: ( + versioning::VERSION_MAJOR.parse().unwrap(), + versioning::VERSION_MINOR.parse().unwrap(), + versioning::VERSION_PATCH.parse().unwrap(), + ), + }), } } } @@ -373,9 +383,14 @@ impl From<&KindWithContent> for Option
{ }), KindWithContent::DumpCreation { .. } => Some(Details::Dump { dump_uid: None }), KindWithContent::SnapshotCreation => None, - KindWithContent::UpgradeDatabase { from } => { - Some(Details::UpgradeDatabase { from: *from }) - } + KindWithContent::UpgradeDatabase { from } => Some(Details::UpgradeDatabase { + from: *from, + to: ( + versioning::VERSION_MAJOR.parse().unwrap(), + versioning::VERSION_MINOR.parse().unwrap(), + versioning::VERSION_PATCH.parse().unwrap(), + ), + }), } } } @@ -630,6 +645,7 @@ pub enum Details { }, UpgradeDatabase { from: (u32, u32, u32), + to: (u32, u32, u32), }, } diff --git a/crates/meilisearch/db.snapshot b/crates/meilisearch/db.snapshot index 0f735608063519b05d2ea58e9ea9cea238162e07..73a3f0f8e111533d40bd0ac421c87d7557f5ef51 100644 GIT binary patch literal 171873 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%0AGnxA| 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∑Q*G@>abZefD0+TudvB(y2!pi23EO^k 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 Date: Thu, 23 Jan 2025 10:50:16 +0100 Subject: [PATCH 26/36] introduce a trait to upgrade the indexes --- .../src/scheduler/process_batch.rs | 5 +- .../src/scheduler/process_upgrade/mod.rs | 16 +++-- crates/milli/src/update/upgrade/mod.rs | 61 +++++++++++------ crates/milli/src/update/upgrade/v1_12.rs | 68 +++++++++++++------ 4 files changed, 104 insertions(+), 46 deletions(-) diff --git a/crates/index-scheduler/src/scheduler/process_batch.rs b/crates/index-scheduler/src/scheduler/process_batch.rs index d54c9a171..7eda1d56f 100644 --- a/crates/index-scheduler/src/scheduler/process_batch.rs +++ b/crates/index-scheduler/src/scheduler/process_batch.rs @@ -316,7 +316,10 @@ impl IndexScheduler { Ok(vec![task]) } Batch::UpgradeDatabase { mut tasks } => { - let ret = catch_unwind(AssertUnwindSafe(|| self.process_upgrade(progress))); + let KindWithContent::UpgradeDatabase { from } = tasks.last().unwrap().kind else { + unreachable!(); + }; + let ret = catch_unwind(AssertUnwindSafe(|| self.process_upgrade(from, progress))); match ret { Ok(Ok(())) => (), Ok(Err(e)) => return Err(Error::DatabaseUpgrade(Box::new(e))), diff --git a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs index 1195f14ba..4feebabc4 100644 --- a/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs +++ b/crates/index-scheduler/src/scheduler/process_upgrade/mod.rs @@ -4,7 +4,11 @@ use meilisearch_types::milli::progress::{Progress, VariableNameStep}; use crate::{Error, IndexScheduler, Result}; impl IndexScheduler { - pub(super) fn process_upgrade(&self, progress: Progress) -> Result<()> { + pub(super) fn process_upgrade( + &self, + db_version: (u32, u32, u32), + progress: Progress, + ) -> Result<()> { #[cfg(test)] self.maybe_fail(crate::test_utils::FailureLocation::ProcessUpgrade)?; @@ -19,9 +23,13 @@ impl IndexScheduler { )); let index = self.index(uid)?; let mut index_wtxn = index.write_txn()?; - let regen_stats = - milli::update::upgrade::upgrade(&mut index_wtxn, &index, progress.clone()) - .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; + let regen_stats = milli::update::upgrade::upgrade( + &mut index_wtxn, + &index, + db_version, + progress.clone(), + ) + .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; if regen_stats { let stats = crate::index_mapper::IndexStats::new(&index, &index_wtxn) .map_err(|e| Error::from_milli(e, Some(uid.to_string())))?; diff --git a/crates/milli/src/update/upgrade/mod.rs b/crates/milli/src/update/upgrade/mod.rs index 4be55e942..a62740e25 100644 --- a/crates/milli/src/update/upgrade/mod.rs +++ b/crates/milli/src/update/upgrade/mod.rs @@ -1,32 +1,39 @@ mod v1_12; use heed::RwTxn; -use v1_12::{v1_12_3_to_v1_13, v1_12_to_v1_12_3}; +use v1_12::{V1_12_3_To_Current, V1_12_To_V1_12_3}; use crate::progress::{Progress, VariableNameStep}; use crate::{Index, InternalError, Result}; +trait UpgradeIndex { + /// Returns true if the index scheduler must regenerate its cached stats + fn upgrade( + &self, + wtxn: &mut RwTxn, + index: &Index, + original: (u32, u32, u32), + progress: Progress, + ) -> Result; + fn target_version(&self) -> (u32, u32, u32); +} + /// Return true if the cached stats of the index must be regenerated -pub fn upgrade(wtxn: &mut RwTxn, index: &Index, progress: Progress) -> Result { - let from = index.get_version(wtxn)?; - let upgrade_functions = [ - ( - v1_12_to_v1_12_3 as fn(&mut RwTxn, &Index, Progress) -> Result, - "Upgrading from v1.12.(0/1/2) to v1.12.3", - ), - ( - v1_12_3_to_v1_13 as fn(&mut RwTxn, &Index, Progress) -> Result, - "Upgrading from v1.12.3+ to v1.13", - ), - ]; +pub fn upgrade( + wtxn: &mut RwTxn, + index: &Index, + db_version: (u32, u32, u32), + progress: Progress, +) -> Result { + let from = index.get_version(wtxn)?.unwrap_or(db_version); + let upgrade_functions: &[&dyn UpgradeIndex] = &[&V1_12_To_V1_12_3 {}, &V1_12_3_To_Current()]; let start = match from { - // If there was no version it means we're coming from the v1.12 - None | Some((1, 12, 0..=2)) => 0, - Some((1, 12, 3..)) => 1, + (1, 12, 0..=2) => 0, + (1, 12, 3..) => 1, // We must handle the current version in the match because in case of a failure some index may have been upgraded but not other. - Some((1, 13, _)) => return Ok(false), - Some((major, minor, patch)) => { + (1, 13, _) => return Ok(false), + (major, minor, patch) => { return Err(InternalError::CannotUpgradeToVersion(major, minor, patch).into()) } }; @@ -34,14 +41,26 @@ pub fn upgrade(wtxn: &mut RwTxn, index: &Index, progress: Progress) -> Result::new( - upgrade_msg.to_string(), + format!( + "Upgrading from v{}.{}.{} to v{}.{}.{}", + current_version.0, + current_version.1, + current_version.2, + target.0, + target.1, + target.2 + ), i as u32, upgrade_path.len() as u32, )); - regenerate_stats |= (upgrade_function)(wtxn, index, progress.clone())?; + regenerate_stats |= upgrade.upgrade(wtxn, index, from, progress.clone())?; + current_version = target; } Ok(regenerate_stats) diff --git a/crates/milli/src/update/upgrade/v1_12.rs b/crates/milli/src/update/upgrade/v1_12.rs index 082896610..e48ecfe36 100644 --- a/crates/milli/src/update/upgrade/v1_12.rs +++ b/crates/milli/src/update/upgrade/v1_12.rs @@ -1,28 +1,56 @@ use heed::RwTxn; +use crate::constants::{VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH}; use crate::progress::Progress; use crate::{make_enum_progress, Index, Result}; -// The field distribution was not computed correctly in the v1.12 until the v1.12.3 -pub(super) fn v1_12_to_v1_12_3( - wtxn: &mut RwTxn, - index: &Index, - progress: Progress, -) -> Result { - make_enum_progress! { - enum FieldDistribution { - RebuildingFieldDistribution, - } - }; - progress.update_progress(FieldDistribution::RebuildingFieldDistribution); - crate::update::new::reindex::field_distribution(index, wtxn, &progress)?; - Ok(true) +use super::UpgradeIndex; + +#[allow(non_camel_case_types)] +pub(super) struct V1_12_To_V1_12_3 {} + +impl UpgradeIndex for V1_12_To_V1_12_3 { + fn upgrade( + &self, + wtxn: &mut RwTxn, + index: &Index, + _original: (u32, u32, u32), + progress: Progress, + ) -> Result { + make_enum_progress! { + enum FieldDistribution { + RebuildingFieldDistribution, + } + }; + progress.update_progress(FieldDistribution::RebuildingFieldDistribution); + crate::update::new::reindex::field_distribution(index, wtxn, &progress)?; + Ok(true) + } + + fn target_version(&self) -> (u32, u32, u32) { + (1, 12, 3) + } } -pub(super) fn v1_12_3_to_v1_13( - _wtxn: &mut RwTxn, - _index: &Index, - _progress: Progress, -) -> Result { - Ok(false) +#[allow(non_camel_case_types)] +pub(super) struct V1_12_3_To_Current(); + +impl UpgradeIndex for V1_12_3_To_Current { + fn upgrade( + &self, + _wtxn: &mut RwTxn, + _index: &Index, + _original: (u32, u32, u32), + _progress: Progress, + ) -> Result { + Ok(false) + } + + fn target_version(&self) -> (u32, u32, u32) { + ( + VERSION_MAJOR.parse().unwrap(), + VERSION_MINOR.parse().unwrap(), + VERSION_PATCH.parse().unwrap(), + ) + } } From 8f65f35de9c5a99055a3f6fb0348b724a523a700 Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 23 Jan 2025 11:24:17 +0100 Subject: [PATCH 27/36] rewrite part of the index-scheduler upgrade test --- crates/index-scheduler/src/queue/test.rs | 3 ++ .../after_processing_everything.snap | 22 ++++---- ... => after_removing_the_upgrade_tasks.snap} | 22 ++++---- .../register_automatic_upgrade_task.snap | 51 +++++++++++++++++++ ...k_while_the_upgrade_task_is_enqueued.snap} | 10 ++-- .../upgrade_failure/upgrade_task_failed.snap | 22 ++++---- .../upgrade_task_failed_again.snap | 22 ++++---- .../upgrade_task_succeeded.snap | 22 ++++---- .../src/scheduler/test_failure.rs | 31 +++++++---- crates/index-scheduler/src/test_utils.rs | 20 +++++--- 10 files changed, 147 insertions(+), 78 deletions(-) rename crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/{after_removing_the_upgrade.snap => after_removing_the_upgrade_tasks.snap} (90%) create mode 100644 crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/register_automatic_upgrade_task.snap rename crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/{registered_a_task_and_upgrade_task.snap => registered_a_task_while_the_upgrade_task_is_enqueued.snap} (91%) diff --git a/crates/index-scheduler/src/queue/test.rs b/crates/index-scheduler/src/queue/test.rs index 5a886b088..eb3314496 100644 --- a/crates/index-scheduler/src/queue/test.rs +++ b/crates/index-scheduler/src/queue/test.rs @@ -165,6 +165,7 @@ fn test_disable_auto_deletion_of_tasks() { let (index_scheduler, mut handle) = IndexScheduler::test_with_custom_config(vec![], |config| { config.cleanup_enabled = false; config.max_number_of_tasks = 2; + None }); index_scheduler @@ -228,6 +229,7 @@ fn test_disable_auto_deletion_of_tasks() { fn test_auto_deletion_of_tasks() { let (index_scheduler, mut handle) = IndexScheduler::test_with_custom_config(vec![], |config| { config.max_number_of_tasks = 2; + None }); index_scheduler @@ -325,6 +327,7 @@ fn test_task_queue_is_full() { let (index_scheduler, mut handle) = IndexScheduler::test_with_custom_config(vec![], |config| { // that's the minimum map size possible config.task_db_size = 1048576; + None }); index_scheduler diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap index 7b4775704..3ad2076c8 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_processing_everything.snap @@ -7,8 +7,8 @@ snapshot_kind: text [] ---------------------------------------------------------------------- ### All Tasks: -0 {uid: 0, batch_uid: 1, status: succeeded, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 0, status: succeeded, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} +0 {uid: 0, batch_uid: 0, status: succeeded, details: { from: (1, 12, 0), to: (1, 13, 0) }, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, batch_uid: 1, status: succeeded, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} 2 {uid: 2, batch_uid: 2, status: succeeded, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} 3 {uid: 3, batch_uid: 3, status: failed, error: ResponseError { code: 200, message: "Index `doggo` already exists.", error_code: "index_already_exists", error_type: "invalid_request", error_link: "https://docs.meilisearch.com/errors#index_already_exists" }, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} 4 {uid: 4, batch_uid: 4, status: succeeded, details: { primary_key: Some("leaves") }, kind: IndexCreation { index_uid: "girafo", primary_key: Some("leaves") }} @@ -19,11 +19,11 @@ succeeded [0,1,2,4,] failed [3,] ---------------------------------------------------------------------- ### Kind: -"indexCreation" [0,2,3,4,] -"upgradeDatabase" [1,] +"indexCreation" [1,2,3,4,] +"upgradeDatabase" [0,] ---------------------------------------------------------------------- ### Index Tasks: -catto [0,] +catto [1,] doggo [2,3,] girafo [4,] ---------------------------------------------------------------------- @@ -44,29 +44,29 @@ girafo: { number_of_documents: 0, field_distribution: {} } [timestamp] [4,] ---------------------------------------------------------------------- ### Started At: -[timestamp] [1,] [timestamp] [0,] +[timestamp] [1,] [timestamp] [2,] [timestamp] [3,] [timestamp] [4,] ---------------------------------------------------------------------- ### Finished At: -[timestamp] [1,] [timestamp] [0,] +[timestamp] [1,] [timestamp] [2,] [timestamp] [3,] [timestamp] [4,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {"upgradeFrom":"v1.12.0"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +0 {uid: 0, details: {"upgradeFrom":"v1.12.0","upgradeTo":"v1.13.0"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } 1 {uid: 1, details: {"primaryKey":"mouse"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"catto":1}}, } 2 {uid: 2, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } 3 {uid: 3, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } 4 {uid: 4, details: {"primaryKey":"leaves"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"girafo":1}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: -0 [1,] -1 [0,] +0 [0,] +1 [1,] 2 [2,] 3 [3,] 4 [4,] @@ -85,8 +85,8 @@ doggo [2,3,] girafo [4,] ---------------------------------------------------------------------- ### Batches Enqueued At: -[timestamp] [1,] [timestamp] [0,] +[timestamp] [1,] [timestamp] [2,] [timestamp] [3,] [timestamp] [4,] diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade_tasks.snap similarity index 90% rename from crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade.snap rename to crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade_tasks.snap index 8064f8425..9e490843e 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/after_removing_the_upgrade_tasks.snap @@ -7,24 +7,24 @@ snapshot_kind: text [] ---------------------------------------------------------------------- ### All Tasks: -0 {uid: 0, batch_uid: 1, status: succeeded, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} +1 {uid: 1, batch_uid: 1, status: succeeded, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} 2 {uid: 2, batch_uid: 2, status: succeeded, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} 3 {uid: 3, batch_uid: 3, status: failed, error: ResponseError { code: 200, message: "Index `doggo` already exists.", error_code: "index_already_exists", error_type: "invalid_request", error_link: "https://docs.meilisearch.com/errors#index_already_exists" }, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} 4 {uid: 4, batch_uid: 4, status: succeeded, details: { primary_key: Some("leaves") }, kind: IndexCreation { index_uid: "girafo", primary_key: Some("leaves") }} -5 {uid: 5, batch_uid: 5, status: succeeded, details: { matched_tasks: 1, deleted_tasks: Some(1), original_filter: "test" }, kind: TaskDeletion { query: "test", tasks: RoaringBitmap<[1]> }} +5 {uid: 5, batch_uid: 5, status: succeeded, details: { matched_tasks: 1, deleted_tasks: Some(1), original_filter: "types=upgradeDatabase" }, kind: TaskDeletion { query: "types=upgradeDatabase", tasks: RoaringBitmap<[0]> }} ---------------------------------------------------------------------- ### Status: enqueued [] -succeeded [0,2,4,5,] +succeeded [1,2,4,5,] failed [3,] ---------------------------------------------------------------------- ### Kind: -"indexCreation" [0,2,3,4,] +"indexCreation" [1,2,3,4,] "taskDeletion" [5,] "upgradeDatabase" [] ---------------------------------------------------------------------- ### Index Tasks: -catto [0,] +catto [1,] doggo [2,3,] girafo [4,] ---------------------------------------------------------------------- @@ -38,21 +38,21 @@ girafo: { number_of_documents: 0, field_distribution: {} } ---------------------------------------------------------------------- ### Enqueued At: -[timestamp] [0,] +[timestamp] [1,] [timestamp] [2,] [timestamp] [3,] [timestamp] [4,] [timestamp] [5,] ---------------------------------------------------------------------- ### Started At: -[timestamp] [0,] +[timestamp] [1,] [timestamp] [2,] [timestamp] [3,] [timestamp] [4,] [timestamp] [5,] ---------------------------------------------------------------------- ### Finished At: -[timestamp] [0,] +[timestamp] [1,] [timestamp] [2,] [timestamp] [3,] [timestamp] [4,] @@ -63,10 +63,10 @@ girafo: { number_of_documents: 0, field_distribution: {} } 2 {uid: 2, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } 3 {uid: 3, details: {"primaryKey":"bone"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"indexCreation":1},"indexUids":{"doggo":1}}, } 4 {uid: 4, details: {"primaryKey":"leaves"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"indexCreation":1},"indexUids":{"girafo":1}}, } -5 {uid: 5, details: {"matchedTasks":1,"deletedTasks":1,"originalFilter":"test"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"taskDeletion":1},"indexUids":{}}, } +5 {uid: 5, details: {"matchedTasks":1,"deletedTasks":1,"originalFilter":"types=upgradeDatabase"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"taskDeletion":1},"indexUids":{}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: -1 [0,] +1 [1,] 2 [2,] 3 [3,] 4 [4,] @@ -87,8 +87,8 @@ doggo [2,3,] girafo [4,] ---------------------------------------------------------------------- ### Batches Enqueued At: -[timestamp] [1,] [timestamp] [0,] +[timestamp] [1,] [timestamp] [2,] [timestamp] [3,] [timestamp] [4,] diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/register_automatic_upgrade_task.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/register_automatic_upgrade_task.snap new file mode 100644 index 000000000..eead6e773 --- /dev/null +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/register_automatic_upgrade_task.snap @@ -0,0 +1,51 @@ +--- +source: crates/index-scheduler/src/scheduler/test_failure.rs +snapshot_kind: text +--- +### Autobatching Enabled = true +### Processing batch None: +[] +---------------------------------------------------------------------- +### All Tasks: +0 {uid: 0, status: enqueued, details: { from: (1, 12, 0), to: (1, 13, 0) }, kind: UpgradeDatabase { from: (1, 12, 0) }} +---------------------------------------------------------------------- +### Status: +enqueued [0,] +---------------------------------------------------------------------- +### Kind: +"upgradeDatabase" [0,] +---------------------------------------------------------------------- +### Index Tasks: +---------------------------------------------------------------------- +### Index Mapper: + +---------------------------------------------------------------------- +### Canceled By: + +---------------------------------------------------------------------- +### Enqueued At: +[timestamp] [0,] +---------------------------------------------------------------------- +### Started At: +---------------------------------------------------------------------- +### Finished At: +---------------------------------------------------------------------- +### All Batches: +---------------------------------------------------------------------- +### Batch to tasks mapping: +---------------------------------------------------------------------- +### Batches Status: +---------------------------------------------------------------------- +### Batches Kind: +---------------------------------------------------------------------- +### Batches Index Tasks: +---------------------------------------------------------------------- +### Batches Enqueued At: +---------------------------------------------------------------------- +### Batches Started At: +---------------------------------------------------------------------- +### Batches Finished At: +---------------------------------------------------------------------- +### File Store: + +---------------------------------------------------------------------- diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_while_the_upgrade_task_is_enqueued.snap similarity index 91% rename from crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap rename to crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_while_the_upgrade_task_is_enqueued.snap index afad39e32..52f0b61a7 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_and_upgrade_task.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/registered_a_task_while_the_upgrade_task_is_enqueued.snap @@ -7,18 +7,18 @@ snapshot_kind: text [] ---------------------------------------------------------------------- ### All Tasks: -0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, status: enqueued, details: { from: (1, 12, 0), to: (1, 13, 0) }, kind: UpgradeDatabase { from: (1, 12, 0) }} +0 {uid: 0, status: enqueued, details: { from: (1, 12, 0), to: (1, 13, 0) }, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} ---------------------------------------------------------------------- ### Status: enqueued [0,1,] ---------------------------------------------------------------------- ### Kind: -"indexCreation" [0,] -"upgradeDatabase" [1,] +"indexCreation" [1,] +"upgradeDatabase" [0,] ---------------------------------------------------------------------- ### Index Tasks: -catto [0,] +catto [1,] ---------------------------------------------------------------------- ### Index Mapper: diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap index 6294cbbc3..96efafc9e 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed.snap @@ -7,19 +7,19 @@ snapshot_kind: text [] ---------------------------------------------------------------------- ### All Tasks: -0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} +0 {uid: 0, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, details: { from: (1, 12, 0), to: (1, 13, 0) }, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} ---------------------------------------------------------------------- ### Status: -enqueued [0,] -failed [1,] +enqueued [1,] +failed [0,] ---------------------------------------------------------------------- ### Kind: -"indexCreation" [0,] -"upgradeDatabase" [1,] +"indexCreation" [1,] +"upgradeDatabase" [0,] ---------------------------------------------------------------------- ### Index Tasks: -catto [0,] +catto [1,] ---------------------------------------------------------------------- ### Index Mapper: @@ -32,16 +32,16 @@ catto [0,] [timestamp] [1,] ---------------------------------------------------------------------- ### Started At: -[timestamp] [1,] +[timestamp] [0,] ---------------------------------------------------------------------- ### Finished At: -[timestamp] [1,] +[timestamp] [0,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {"upgradeFrom":"v1.12.0"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +0 {uid: 0, details: {"upgradeFrom":"v1.12.0","upgradeTo":"v1.13.0"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: -0 [1,] +0 [0,] ---------------------------------------------------------------------- ### Batches Status: failed [0,] diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap index 91e6b80f2..bd223298d 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_failed_again.snap @@ -7,20 +7,20 @@ snapshot_kind: text [] ---------------------------------------------------------------------- ### All Tasks: -0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} +0 {uid: 0, batch_uid: 0, status: failed, error: ResponseError { code: 200, message: "Planned failure for tests.", error_code: "internal", error_type: "internal", error_link: "https://docs.meilisearch.com/errors#internal" }, details: { from: (1, 12, 0), to: (1, 13, 0) }, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} 2 {uid: 2, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} ---------------------------------------------------------------------- ### Status: -enqueued [0,2,] -failed [1,] +enqueued [1,2,] +failed [0,] ---------------------------------------------------------------------- ### Kind: -"indexCreation" [0,2,] -"upgradeDatabase" [1,] +"indexCreation" [1,2,] +"upgradeDatabase" [0,] ---------------------------------------------------------------------- ### Index Tasks: -catto [0,] +catto [1,] doggo [2,] ---------------------------------------------------------------------- ### Index Mapper: @@ -35,16 +35,16 @@ doggo [2,] [timestamp] [2,] ---------------------------------------------------------------------- ### Started At: -[timestamp] [1,] +[timestamp] [0,] ---------------------------------------------------------------------- ### Finished At: -[timestamp] [1,] +[timestamp] [0,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {"upgradeFrom":"v1.12.0"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +0 {uid: 0, details: {"upgradeFrom":"v1.12.0","upgradeTo":"v1.13.0"}, stats: {"totalNbTasks":1,"status":{"failed":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: -0 [1,] +0 [0,] ---------------------------------------------------------------------- ### Batches Status: failed [0,] diff --git a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap index 940e68be0..5bb2d57cf 100644 --- a/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap +++ b/crates/index-scheduler/src/scheduler/snapshots/test_failure.rs/upgrade_failure/upgrade_task_succeeded.snap @@ -7,22 +7,22 @@ snapshot_kind: text [] ---------------------------------------------------------------------- ### All Tasks: -0 {uid: 0, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} -1 {uid: 1, batch_uid: 0, status: succeeded, details: { from: v1.12.0 }, kind: UpgradeDatabase { from: (1, 12, 0) }} +0 {uid: 0, batch_uid: 0, status: succeeded, details: { from: (1, 12, 0), to: (1, 13, 0) }, kind: UpgradeDatabase { from: (1, 12, 0) }} +1 {uid: 1, status: enqueued, details: { primary_key: Some("mouse") }, kind: IndexCreation { index_uid: "catto", primary_key: Some("mouse") }} 2 {uid: 2, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} 3 {uid: 3, status: enqueued, details: { primary_key: Some("bone") }, kind: IndexCreation { index_uid: "doggo", primary_key: Some("bone") }} ---------------------------------------------------------------------- ### Status: -enqueued [0,2,3,] -succeeded [1,] +enqueued [1,2,3,] +succeeded [0,] failed [] ---------------------------------------------------------------------- ### Kind: -"indexCreation" [0,2,3,] -"upgradeDatabase" [1,] +"indexCreation" [1,2,3,] +"upgradeDatabase" [0,] ---------------------------------------------------------------------- ### Index Tasks: -catto [0,] +catto [1,] doggo [2,3,] ---------------------------------------------------------------------- ### Index Mapper: @@ -38,16 +38,16 @@ doggo [2,3,] [timestamp] [3,] ---------------------------------------------------------------------- ### Started At: -[timestamp] [1,] +[timestamp] [0,] ---------------------------------------------------------------------- ### Finished At: -[timestamp] [1,] +[timestamp] [0,] ---------------------------------------------------------------------- ### All Batches: -0 {uid: 0, details: {"upgradeFrom":"v1.12.0"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } +0 {uid: 0, details: {"upgradeFrom":"v1.12.0","upgradeTo":"v1.13.0"}, stats: {"totalNbTasks":1,"status":{"succeeded":1},"types":{"upgradeDatabase":1},"indexUids":{}}, } ---------------------------------------------------------------------- ### Batch to tasks mapping: -0 [1,] +0 [0,] ---------------------------------------------------------------------- ### Batches Status: succeeded [0,] diff --git a/crates/index-scheduler/src/scheduler/test_failure.rs b/crates/index-scheduler/src/scheduler/test_failure.rs index 3b895ef2f..dba0bb072 100644 --- a/crates/index-scheduler/src/scheduler/test_failure.rs +++ b/crates/index-scheduler/src/scheduler/test_failure.rs @@ -6,6 +6,7 @@ use meili_snap::snapshot; use meilisearch_types::milli::obkv_to_json; use meilisearch_types::milli::update::IndexDocumentsMethod::*; use meilisearch_types::milli::update::Setting; +use meilisearch_types::tasks::Kind; use meilisearch_types::tasks::KindWithContent; use roaring::RoaringBitmap; @@ -253,15 +254,16 @@ fn panic_in_process_batch_for_index_creation() { #[test] fn upgrade_failure() { + // By starting the index-scheduler at the v1.12.0 an upgrade task should be automatically enqueued let (index_scheduler, mut handle) = - IndexScheduler::test(true, vec![(1, FailureLocation::ProcessUpgrade)]); + IndexScheduler::test_with_custom_config(vec![(1, FailureLocation::ProcessUpgrade)], |_| { + Some((1, 12, 0)) + }); + snapshot!(snapshot_index_scheduler(&index_scheduler), name: "register_automatic_upgrade_task"); let kind = index_creation_task("catto", "mouse"); let _task = index_scheduler.register(kind, None, false).unwrap(); - let upgrade_database_task = index_scheduler - .register(KindWithContent::UpgradeDatabase { from: (1, 12, 0) }, None, false) - .unwrap(); - snapshot!(snapshot_index_scheduler(&index_scheduler), name: "registered_a_task_and_upgrade_task"); + snapshot!(snapshot_index_scheduler(&index_scheduler), name: "registered_a_task_while_the_upgrade_task_is_enqueued"); handle.advance_one_failed_batch(); snapshot!(snapshot_index_scheduler(&index_scheduler), name: "upgrade_task_failed"); @@ -275,7 +277,9 @@ fn upgrade_failure() { // =====> After a restart is it still working as expected? let (index_scheduler, mut handle) = - handle.restart(index_scheduler, true, vec![(1, FailureLocation::ProcessUpgrade)]); + handle.restart(index_scheduler, true, vec![(1, FailureLocation::ProcessUpgrade)], |_| { + Some((1, 12, 0)) // the upgrade task should be rerun automatically and nothing else should be enqueued + }); handle.advance_one_failed_batch(); snapshot!(snapshot_index_scheduler(&index_scheduler), name: "upgrade_task_failed_again"); @@ -286,7 +290,8 @@ fn upgrade_failure() { handle.scheduler_is_down(); // =====> After a rerestart and without failure can we upgrade the indexes and process the tasks - let (index_scheduler, mut handle) = handle.restart(index_scheduler, true, vec![]); + let (index_scheduler, mut handle) = + handle.restart(index_scheduler, true, vec![], |_| Some((1, 12, 0))); handle.advance_one_successful_batch(); snapshot!(snapshot_index_scheduler(&index_scheduler), name: "upgrade_task_succeeded"); @@ -300,12 +305,18 @@ fn upgrade_failure() { handle.advance_one_successful_batch(); snapshot!(snapshot_index_scheduler(&index_scheduler), name: "after_processing_everything"); + let (upgrade_tasks_ids, _) = index_scheduler + .get_task_ids_from_authorized_indexes( + &crate::Query { types: Some(vec![Kind::UpgradeDatabase]), ..Default::default() }, + &Default::default(), + ) + .unwrap(); // When deleting the single upgrade task it should remove the associated batch let _task = index_scheduler .register( KindWithContent::TaskDeletion { - query: String::from("test"), - tasks: RoaringBitmap::from_iter([upgrade_database_task.uid]), + query: String::from("types=upgradeDatabase"), + tasks: upgrade_tasks_ids, }, None, false, @@ -313,5 +324,5 @@ fn upgrade_failure() { .unwrap(); handle.advance_one_successful_batch(); - snapshot!(snapshot_index_scheduler(&index_scheduler), name: "after_removing_the_upgrade"); + snapshot!(snapshot_index_scheduler(&index_scheduler), name: "after_removing_the_upgrade_tasks"); } diff --git a/crates/index-scheduler/src/test_utils.rs b/crates/index-scheduler/src/test_utils.rs index b1e44e32c..072220b6c 100644 --- a/crates/index-scheduler/src/test_utils.rs +++ b/crates/index-scheduler/src/test_utils.rs @@ -75,12 +75,13 @@ impl IndexScheduler { ) -> (Self, IndexSchedulerHandle) { Self::test_with_custom_config(planned_failures, |config| { config.autobatching_enabled = autobatching_enabled; + None }) } pub(crate) fn test_with_custom_config( planned_failures: Vec<(usize, FailureLocation)>, - configuration: impl Fn(&mut IndexSchedulerOptions), + configuration: impl Fn(&mut IndexSchedulerOptions) -> Option<(u32, u32, u32)>, ) -> (Self, IndexSchedulerHandle) { let tempdir = TempDir::new().unwrap(); let (sender, receiver) = crossbeam_channel::bounded(0); @@ -111,13 +112,13 @@ impl IndexScheduler { instance_features: Default::default(), auto_upgrade: true, // Don't cost much and will ensure the happy path works }; - configuration(&mut options); - - let version = ( - versioning::VERSION_MAJOR.parse().unwrap(), - versioning::VERSION_MINOR.parse().unwrap(), - versioning::VERSION_PATCH.parse().unwrap(), - ); + let version = configuration(&mut options).unwrap_or_else(|| { + ( + versioning::VERSION_MAJOR.parse().unwrap(), + versioning::VERSION_MINOR.parse().unwrap(), + versioning::VERSION_PATCH.parse().unwrap(), + ) + }); let index_scheduler = Self::new(options, version, sender, planned_failures).unwrap(); @@ -241,6 +242,7 @@ impl IndexSchedulerHandle { index_scheduler: IndexScheduler, autobatching_enabled: bool, planned_failures: Vec<(usize, FailureLocation)>, + configuration: impl Fn(&mut IndexSchedulerOptions) -> Option<(u32, u32, u32)>, ) -> (IndexScheduler, Self) { drop(index_scheduler); let Self { _tempdir: tempdir, index_scheduler, test_breakpoint_rcv, last_breakpoint: _ } = @@ -264,6 +266,7 @@ impl IndexSchedulerHandle { let (scheduler, mut handle) = IndexScheduler::test_with_custom_config(planned_failures, |config| { + let version = configuration(config); config.autobatching_enabled = autobatching_enabled; config.version_file_path = tempdir.path().join(VERSION_FILE_NAME); config.auth_path = tempdir.path().join("auth"); @@ -272,6 +275,7 @@ impl IndexSchedulerHandle { config.indexes_path = tempdir.path().join("indexes"); config.snapshots_path = tempdir.path().join("snapshots"); config.dumps_path = tempdir.path().join("dumps"); + version }); handle._tempdir = tempdir; (scheduler, handle) From 787472453dd7d0b57bdca4c38a914e5b867173be Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 23 Jan 2025 11:47:00 +0100 Subject: [PATCH 28/36] write the version of the index while upgrading it --- crates/index-scheduler/src/scheduler/test_failure.rs | 1 - crates/milli/src/update/upgrade/mod.rs | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/index-scheduler/src/scheduler/test_failure.rs b/crates/index-scheduler/src/scheduler/test_failure.rs index dba0bb072..712fe01a5 100644 --- a/crates/index-scheduler/src/scheduler/test_failure.rs +++ b/crates/index-scheduler/src/scheduler/test_failure.rs @@ -8,7 +8,6 @@ use meilisearch_types::milli::update::IndexDocumentsMethod::*; use meilisearch_types::milli::update::Setting; use meilisearch_types::tasks::Kind; use meilisearch_types::tasks::KindWithContent; -use roaring::RoaringBitmap; use crate::insta_snapshot::snapshot_index_scheduler; use crate::test_utils::Breakpoint::*; diff --git a/crates/milli/src/update/upgrade/mod.rs b/crates/milli/src/update/upgrade/mod.rs index a62740e25..5b7fda303 100644 --- a/crates/milli/src/update/upgrade/mod.rs +++ b/crates/milli/src/update/upgrade/mod.rs @@ -60,6 +60,7 @@ pub fn upgrade( upgrade_path.len() as u32, )); regenerate_stats |= upgrade.upgrade(wtxn, index, from, progress.clone())?; + index.put_version(wtxn, target)?; current_version = target; } From 4f21ee6c66c801da4b0d9e98e5745625fec39d1a Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 23 Jan 2025 12:30:52 +0100 Subject: [PATCH 29/36] update the data.ms snapshot --- crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs index 07cf376c1..539309d0a 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +++ b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs @@ -116,7 +116,7 @@ async fn check_the_index_scheduler(server: &Server) { "uid": "kefir", "createdAt": "2025-01-16T16:45:16.020663157Z", "updatedAt": "2025-01-16T17:18:43.296777845Z", - "primaryKey": null + "primaryKey": "id" } ], "offset": 0, From 7197ced673225e837f247fd2a3ebfda18a5e8394 Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 23 Jan 2025 12:31:10 +0100 Subject: [PATCH 30/36] fix the bad index version on opening --- crates/benchmarks/benches/indexing.rs | 2 +- crates/benchmarks/benches/utils.rs | 2 +- crates/fuzzers/src/bin/fuzz-indexing.rs | 2 +- .../src/index_mapper/index_map.rs | 10 ++++++---- .../index-scheduler/src/index_mapper/mod.rs | 2 ++ crates/meilisearch/db.snapshot | Bin 171873 -> 171860 bytes .../upgrade/v1_12/v1_12_0.ms/auth/lock.mdb | Bin 8192 -> 8192 bytes .../upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb | Bin 8192 -> 8192 bytes crates/meilitool/src/main.rs | 2 +- crates/meilitool/src/upgrade/v1_12.rs | 9 +++++---- crates/milli/src/index.rs | 13 +++++++++---- .../milli/src/search/new/tests/integration.rs | 2 +- .../milli/tests/search/facet_distribution.rs | 2 +- crates/milli/tests/search/mod.rs | 2 +- crates/milli/tests/search/query_criteria.rs | 2 +- crates/milli/tests/search/typo_tolerance.rs | 2 +- 16 files changed, 31 insertions(+), 21 deletions(-) diff --git a/crates/benchmarks/benches/indexing.rs b/crates/benchmarks/benches/indexing.rs index 4acd7b22a..7c1783a1a 100644 --- a/crates/benchmarks/benches/indexing.rs +++ b/crates/benchmarks/benches/indexing.rs @@ -38,7 +38,7 @@ fn setup_index() -> Index { let mut options = EnvOpenOptions::new(); options.map_size(100 * 1024 * 1024 * 1024); // 100 GB options.max_readers(100); - Index::new(options, path).unwrap() + Index::new(options, path, true).unwrap() } fn setup_settings<'t>( diff --git a/crates/benchmarks/benches/utils.rs b/crates/benchmarks/benches/utils.rs index 889478d40..b472b4f6b 100644 --- a/crates/benchmarks/benches/utils.rs +++ b/crates/benchmarks/benches/utils.rs @@ -68,7 +68,7 @@ pub fn base_setup(conf: &Conf) -> Index { let mut options = EnvOpenOptions::new(); options.map_size(100 * 1024 * 1024 * 1024); // 100 GB options.max_readers(100); - let index = Index::new(options, conf.database_name).unwrap(); + let index = Index::new(options, conf.database_name, true).unwrap(); let config = IndexerConfig::default(); let mut wtxn = index.write_txn().unwrap(); diff --git a/crates/fuzzers/src/bin/fuzz-indexing.rs b/crates/fuzzers/src/bin/fuzz-indexing.rs index 08711e5e3..1216083ca 100644 --- a/crates/fuzzers/src/bin/fuzz-indexing.rs +++ b/crates/fuzzers/src/bin/fuzz-indexing.rs @@ -63,7 +63,7 @@ fn main() { Some(path) => TempDir::new_in(path).unwrap(), None => TempDir::new().unwrap(), }; - let index = Index::new(options, tempdir.path()).unwrap(); + let index = Index::new(options, tempdir.path(), true).unwrap(); let indexer_config = IndexerConfig::default(); std::thread::scope(|s| { diff --git a/crates/index-scheduler/src/index_mapper/index_map.rs b/crates/index-scheduler/src/index_mapper/index_map.rs index 947f558aa..3031043a9 100644 --- a/crates/index-scheduler/src/index_mapper/index_map.rs +++ b/crates/index-scheduler/src/index_mapper/index_map.rs @@ -102,7 +102,7 @@ impl ReopenableIndex { return Ok(()); } map.unavailable.remove(&self.uuid); - map.create(&self.uuid, path, None, self.enable_mdb_writemap, self.map_size)?; + map.create(&self.uuid, path, None, self.enable_mdb_writemap, self.map_size, false)?; } Ok(()) } @@ -171,11 +171,12 @@ impl IndexMap { date: Option<(OffsetDateTime, OffsetDateTime)>, enable_mdb_writemap: bool, map_size: usize, + creation: bool, ) -> Result { if !matches!(self.get_unavailable(uuid), Missing) { panic!("Attempt to open an index that was unavailable"); } - let index = create_or_open_index(path, date, enable_mdb_writemap, map_size)?; + let index = create_or_open_index(path, date, enable_mdb_writemap, map_size, creation)?; match self.available.insert(*uuid, index.clone()) { InsertionOutcome::InsertedNew => (), InsertionOutcome::Evicted(evicted_uuid, evicted_index) => { @@ -299,6 +300,7 @@ fn create_or_open_index( date: Option<(OffsetDateTime, OffsetDateTime)>, enable_mdb_writemap: bool, map_size: usize, + creation: bool, ) -> Result { let mut options = EnvOpenOptions::new(); options.map_size(clamp_to_page_size(map_size)); @@ -308,9 +310,9 @@ fn create_or_open_index( } if let Some((created, updated)) = date { - Ok(Index::new_with_creation_dates(options, path, created, updated)?) + Ok(Index::new_with_creation_dates(options, path, created, updated, creation)?) } else { - Ok(Index::new(options, path)?) + Ok(Index::new(options, path, creation)?) } } diff --git a/crates/index-scheduler/src/index_mapper/mod.rs b/crates/index-scheduler/src/index_mapper/mod.rs index cc5e616ed..dad73d4c6 100644 --- a/crates/index-scheduler/src/index_mapper/mod.rs +++ b/crates/index-scheduler/src/index_mapper/mod.rs @@ -198,6 +198,7 @@ impl IndexMapper { date, self.enable_mdb_writemap, self.index_base_map_size, + true, ) .map_err(|e| Error::from_milli(e, Some(uuid.to_string())))?; let index_rtxn = index.read_txn()?; @@ -396,6 +397,7 @@ impl IndexMapper { None, self.enable_mdb_writemap, self.index_base_map_size, + false, ) .map_err(|e| Error::from_milli(e, Some(uuid.to_string())))?; } diff --git a/crates/meilisearch/db.snapshot b/crates/meilisearch/db.snapshot index 73a3f0f8e111533d40bd0ac421c87d7557f5ef51..3cec193fbd9f71e22a04894ed80ff341f84d83d6 100644 GIT binary patch literal 171860 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

?<4Ol8--MEBfu# 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

oSdUMpp4jJ1)QE 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 literal 171873 zcmZs?18^lkvnU*GY}>YNXJaQD+qUgZPHZO|+uYbTPi&l+n@!$+_r9vX-hb~@S51v; zdb+xM8YFSBVEx?auWBZQP7^4(|FUQ7W=~5Pg1cs+7Mn>Vs{v zw9TfUN@k|m)=*TRkLU|qym`(|poQ{>iU#B=IahLLQKzP`X37yowdFW6|1gg2Hu|2dCu=M`QG0GT!$=hVsN^f zo%?nxhOS-QO#L(JuJO~&159<6XpT%|@as{!lMg_P7IL*~ir(vZW6EB3CE9CeGs6N&~W(qJIOVIZ#P zQFlytq}|o>ZDdUM(kNZznPkE0(|Q+w+bm|K4P*a*Ajm1gca1rl!fRCJH!Mh+s`iTQ zCf|9wI}YIU@@TfhMEn41+|uVg0j7=h=<%HZAK7l|{Q=^%V@!aR z1Vh<;AjGX$1|+@1*LMI?qjO7qRGoNkGHLd{~ZNU4IO`SUFaY3X%)CGJleSg_kVT^wF?U_IOjZp zR{AcECFx)}@<`@OPBxOOMm2HvGa<|Qz{qwBgRnVk$bSVuXN)YQhS96fb`|8jtR{YT=vK1*MXdV%hZe%6ZL7eNQnO1KfyN*Cnfpb)+7E&Yj=c#M z9)faMzpcFYTZOSa>nnm2mpiAj*(}d?F;}|}H4kQ#HMmOu9-z}xV5O?QxZaz*XIAxP z##Pm>`j3pIvwqaJ7p^jbz9V=;>C&qmRsn`Sg@Cw-zRGOuMy5YhmGIF=j^)Rw7n1D- z`+c6>@PjP7#igv*oPj0~SuHO-$zR9YaCWAH4P0*PT)*BMwAM;Z^cq`CfCCr~%Wwf1 zHE=;Q_iGbhMU{)BUt|AG$?ZvB5(}q!LF(-BVxNG%CHCnD< z|ASlnhjQ#h{(O#ZL*_|%e*g)&Z#R)57(kI-paJMR|nQPKN_ zT$#;XEXPIW^4+0oEeB8NWjm{k1EkcN^OPigqp!J9PR~V#r|m(OR(Eat49rffTjpK{ zT9zEg>SZ_AYAKGJ+hKrOmcny3)NPS_`9fY+0m`ic@dTT-Nq5igisN}I0y5ZZ>usKG z*0PHYru$+?sZSSDOj#{AotWvj9fNamSLu*&_jF3|GK4MIp zt=%=BVAJ@G zX9TYt^5$8fcq@SRbltf=B&?dgsyd}ELHe@E$Tl5bNi28O`9T9E;CnFGua5>eZ|n1>O8DcC21bBv zm&19R%3E6X136u*!QY9^#2~f}$F-3d>GCZM0wA-og|n4Y_ezfS6#_VuSN#iO$Vb)f z<(;uqe|_d)9jt{c$28iEU;`C5pJ*KqB1Ow3tq=AEO`VDFoDxJ7^LJR&af zNI2khZIy8d?Bk|o+Y-aFT8M+v@uI`Ps%&j%3m;vCeZ?9jrYWXG`!%q~lWrOY&pFls zQ?XaKEQOOCR5)ddB4rSy8jf*7VPc*ylzV&Q2~I_>IjMDbT8p94?$L)g!P0H4JPEJ-h0;TU~b_ysBy@470A=QqsT)BL`~Tq9w~J%=|(eN z28Wjk)l8N_%kru%aY}8Ufm{S;bnouD7fne0h5Cm;iQaTI)$-c`@h+m0nq20h!(Z5t zq0=g`qFznZg5TK>m$p%tf>Hl0bL9E}0{+|K4B6SX=lMY0pctfno;2M|1m#*HACRl6G3`CIc&2MEJOGH5K zBMz)?!Ib}@z{M~dp`)!coMIXR;ByKY8;({N>fB}s@p@)84p$k$Q_H_ z7`x&FaROC*F_zIt3BluE^qb`UQsMf(i$EyeKC?w;LTxcbbsjOLf0$g#e({DLa_vau z`vy;fJNlfhf?fEc{X`H`32OB|1LSacju|0^*DM+uiH|~7;umQNgUH_wd}FKots=*p z3W12w(Iw8K4d#dp_eyXRTNR<*%?Bl%&M~6s_CU2=iwnOH zX<hegCb#j>f#ro0;LH3uHa=|@cmB>d18Ao(^I9u zt!2P>;9n%c8U#LdN>}3JV_D{L1C7+U+q9OIRCEqR*(oR5x8yMv4#sa-A+#3p@NCZw z$yjGpTC zVC8FB*U!0S9gRYI0C=Lqof!jXr;r%~E-*Tkvj)lvk-jqMT!v`8Yhpx{G`_mCA!`r; zgc!+AJ*2C3WbM2|fO^9W1atT_K{xmt1VmOC+MTws3QBi(&iVqmlcp9Kbx=4&%Zdu7pv+21JSE?lfkNEt%POg2qqjj* zT1mCglPc0%oksf>ZX`zo%kYtbYPJ;I2+cyZ)g)v}j57NDXR3ak0oykuPtj5^w(zmF z<5uR*b_6FT(II!Nc`V-&+%5$l)fLS4VBRoww{Ou@jwq!^&%~IjmQllT!Ay3o1f*58 z=;+&nUomUJ8@2#|0El;l+>(BfkJ6M=o`_e$gc7@;8o|&2x7U9%YWL?nIe<vj7&yJ93d&6R(F64-D z#xBo%xzq8@o+BViLds5u9h@M^-S)kLGOCoL+>Ro>W~)sBS78I6&3+=0_wU>wJxRjT z$H;rZABkyb1`UN%uHv%V1li|16K?r9krOcDwqXEYuVeR!)12Q#ZST=6LdEVTWHXc_)tK=8mJtwk?(y+iTR)O1V~F0sq6;c)o5 z3PkedweB%B;VvVH+Q(?D6*KgO(7*wY(D+Up$ z)giiq**94z+zTe`$Q;=AXU8x!pg&vQMZCZGML_HYBy6Y}Wtl=~)LMuJcCm1I`f=jA zB%9o#N(|gOLk=Q3!*jI5W^CwIUvU_Ee-oEx#kw|2bPfUpZIv*wDg6h=5_uOG5K3&C zA6aS9Qq=>^H5m!!Ib(`Y1vb9jN8F#@HO1R6a>oG71PksFq92iN-avHS%`UPiCPRS3 z(Jg&seWSO*7ThXiTrrp(0}HaOs&MhXPBLDKAe6R$Xd&cf)zk zGgW{$)p|THabyC7MVKH|L4poA1d{kVuhV=W)qLg)Q}Uf*Iz6&?HLDePL_sB@c;e0Az8ey z9`qUncETz4yS$saAo&L90>cX0<&yO@?rE;U-c`>X|(K*03W@)M`O+iv9R1f z2jU&Q-KR!gB=#qFZ^ie+?5(V2#+2XNPjREicfRv+cj1-X%3ti_uoe{=-RUl53Zylt|*l(^L$$YO6hKKyeaDPqIO7pMXBPb1Fu_Z3b||9(-Xph4ogOBF>DTMW-DNhlGl^Yy?;u_IMmvuOr7g6ev%rZePXKOOGaz&*&ogEt#H5l zdOix=C-#@{YWSXY^+a$MruRS&@kXUZQ~XX#No)ULk<5)bN$USg1MD2$9h(qdK=&p& z!m=_qBq7$YVFM&UW_kEf$+|N z`n(XhmvmT5bQ&4CwE>wKN=@C*V1=KaY)f!9@RH$TD;>RPpjAR7dn5UYBowFPZb~Td z4z4Zc`HE_!1JM_yi&KRD^N_}$p_|4F1Ded6`l4)4w-NRDt|Zk{{iAFf;eeufE>XKz zanOvSLO4AUUM;G;i;6I7OxfEq)p;vseF!xrz{2TPL6oXTpx|dQzcU^`eTzAqWWa1; z+PCIZ+YA1C+-yP9tbUzPVY@S(XyK?hSfalRpI^?VQs=cF#~WKqC^U}$WmG&SktVBd zy)zmTvP8SLwUjJdQS_5cN>DCC%EPH@1-ScyC~-ggkr!QgAI4*Ub2iny=4R*LTZoE%NIgxrQ0}<-h)UwxaOKu@248L-j0%iXgWBm z8O?JGFZjZJgKnZ|OM5!T;SW8=x?gwwDM^lw4e^fwr?;XPAXNsw#_&U{)7QR80YzH; zTg74mY_6>ab~zoaYgivsP?>B8dHdK|1s{>X2GRMav({ocSR|P4$*$GyI?d8Go^&QY} z;c3gNBzLwhIPP7iB<^7q>>LW0g|p0G7(aa$(SQE5v)6V8-0nJ5#7?FmO}RH}-VDpV!a%njC6>;}PFDyqt_WKOSK&G#7M^7Sb$$Tpdt4H3;)WO0?7U37V{ zzB78HaaIbZfA_Pyd>=#v(O7=|7$qrB#SE`JYR9X|2;39oPx=nUNX%xXmXQc}ZN^qG z5@7{XAI&Z0XwSPWqna9DvAw96_G!+(kFL_;j^Rqu#Da~p z+~`v2+`BkjN@XfM)gd~tz`Ik6>v))2jjjsZQ>nggVB)6UPUx69e=HU@T=U~8-`f#a z;y|a5m@$zW(+T~k!e74>6}{kPQsMAhK2|Fi;DTBPh6Fhv5W#;^YHbDE2{z5^hFMg= zm|f?YAV%QmAAL#xh4v^OWXe2Kxq~zM(^+UNrf-tkBNWVB0Nf~H9Y6B5}<~3ij zyR(JZR-6|c%zJ#Rp0q$#b1M^r&jkg=&!~k!9DebQ%pE)jRaN+nFqQ_w3@j37e1JaX zLq_74aBVC)-*@r=-*blSws|XEA-omt>1u=G@Ff%uL=sqUys91o1b1hl-yA=`icd); ztci!#RbezN;pY2({|HTbhMPJ1FoL)`ed^bskxO&U5&8x}gczjtapJ?BY-yH&5X{AR zi3hcB8XCRWrJ(|uLW*EtEE!n95MUB3O@L#5+ zDXgyPpUyP8@C=HoJ z)?0)UbXuL|b&ZxpA=XcV-47pz{`m@Ud%<$z5Y%Av`4QXql(j#`!@cFqdX^#$B6$IF z?9lk1hCQBqH@_7H(BBp4{-TK27Mo&t zFxvSrCVX87yTMbetlzM%qNR_)ziw)wu3QR5>wUZI!?s6O#gQW2LBIcTRo=UL?1pEdL~ z18+&P5G4TOYjNhfq5ia(!t_#VEzffd=H1G5senX1R1+dr;4RHx7Hc6wS`EYwhddyBL-r~%2}TPgC;kiGzPIsC-o)y3N!9c!jA@Z*aK~dx zf`sQ7Gh;JP10E@yk8v{uX6Da_qDLHWOi7;d0)`=d4%LI^gYl$P1lKhZ&di#SfRv0L zqJ8t4#EZ5dPoPDG?m`Nv!VU`@8igGvr;olG7YddW)AGQwx1!M(Qa;+tD{8ZZGc6r9 zD|Nu5*u3-ZlMc0HO&yWyyCAw=HPd8^U#Jy6A(=|erxEE7Dq>|qYo zRn}`Um^u;Fi5hm&Yt{7VF46wY5fw=6#Oe@%f8Vbh=`soMZeBl|2^FI%RDrS`qKg+h zEY?BK%#LwYWdjQlvjqQjmtGBE@jSwLJuSfWZDSnOG?o(711eJQ4OJgW~Rwd?wc!kl|K z{u#3c-Z0s%N+`$7%irq~`LN>;x)+z(C5d-e9-Q%Il$H3;-*T7ty$5)B8B0osz7M}8 zAj$;`o=9KAXBZFO@*48}@{z({54}fY+i(E6zosV4ZTx;`(V={N!C0t#!eNOcaT^kY zGN+Qtd5Q(f=t;CG1swZ1pm1t|MITvMo_2jWW2qwra89qPAb8$5zdni#5lGG$nyl?0VrjmN_ zVt8!%#LZM!^@C;KpqeK@T^Chby&d!(x1QR|;HActLl>d0x zwqefNjr&C)>9g2+#9lQhs{tmbIY^Kq{t5antgVrOcXF zFO2V*Uz*zGx?@lHGxa2BZYpmg+#bWyM;L}~&H^R}jkDj4>*4_q?qoE1ayaRSnv6%- zic~gf9vyet3{Z3J>Y=Nyyv#E6CC!ymPi| z-_^JcJsU4VHS)zz)voMPMG__Vdhk)$9fsg=Sp(#s#WK!LE}yrMz=g-sJFX>J+R8x7 zL@IzD){Pq%k@!aeJ(uYR-e zjHB0^eyJZy^cv{c|E_=N`Q`c4{8GSj&PPYCsT(-guU zfW9`=Oq&m$-*xs!AzDT^K%}hyeXg41-J0Znku2hSYk#E(dQLR(I4!!TTL;%vPBUGQ zOWGnU6vW&GcLiPlP4v1>jOflCjsr3)Gvqk*a5;@>4+|^*JnH%D55`*B&g5>oP~vZq zyX^n+S_O$jFwRz{Ncenk>J&8$-F|*XngevkN(QuWeR?#yo4_Y++<*KY*l+)pV&`|e zO1YyOT_O%_{e{AiOr9bn$K&4cD_;3+Csw<|BatU^ct?m|b8g_1c z>NoFI%6?}t0W4U434__=m9KD=U=}jRN+Tin#D%z2c-<)r9`&24>zX7KRQ6!P(~rlF zPV1&dKE9Nfw^~Gv+wfy@!%Y)*yn02%xw$vA68>!8l&2FH%RSfdg?#T_M2g4C4`QOu zM4xS$rfr@d3ShZTP;m|5zmf8mik;zd$-C^y+0-GMq1ht_v;6ySt!>k#ia9(ShQl4E zA&TC5P%v>x?o9pwil}_4>d<2{1i@5g%-(7O(6CYO(D3FAWI-8N zZmzqVS;LdZ?EIBA9!+E$)9oirM@mJp$aCWyPLu$GK^D-Za$uG$ z!wIB!-S-S%4e_;*R1+y|t^2Vxp9kSeX}Eg!R8~@?h}_8|;l#um6Z`EE8Cq-wi^Wis zLsHP#%(4n?^CBC0l-ogkbAOr50Y=g0HQxKWn2&y_^L)DtsfuFHRW7A}3Gi;i=;GQ- zchorOm2;m`;a4OmiP$qZ)$@H_OUWJK&}PG$V)Qq0G6YLvh{0$-j{#j@TnG5gc4D73`w`aaX(D3!uO zWQ>8>gQryYzo?(FT%f~anVLuO7W7pYBf9XkH<7AOrIP6{uZE~3Z%;q=T0`;`*>p^9 z&r)K!lS$b(!&x2rp0~5%aR3x}G2bEc(_H$kI;vz0A@`KL$f21?idvoUnBcU*YYo%@ z=bWFd$tE?!P*Y^KfhcQ4jPE2;Sn#(q8g(E}v|+M^T((M5{b%9*%1xw>7rbfS#HByi zJQMB7-8nWcPB_D8`7?js4pKjn2XzTEtijC*XJ>mNLa4$7zVx|jb1ZY5fbsL@OuAS4 zFn0NZjpQ#;_Js%=2wW+;U(FA?m^~vBJWBvpJe%&o(C_tb z_HD&)Lcac3*~)()Z=(5Zj3_a`79d4eq&?!}q8DWtRV2P=cA`HN*k)T!id!5GZu|x0 zcujsohuQohQA|jie7mtACR+cGDgb>WavR(*(#nwA z+w2IF_H;e#ZsyO^{j09VV*+UNbs}DLzSU3|zmpJ<*ixY^>ieP# z6nP*|4oF~E;2}QSg4{wc0rsbVn=wzuoIVXD;oGqv3f0{j!c<>=aB^fVz`&PRJrp}4 zqb~PHm6TnCh=hTCr-7WYo3xGC0G_Dsn`v;+i>O2Z-h6bEq#&giTg>$&UVL@&8$G;< zpYIqFD15eHu*%mW{jHF+^mtgV4lH@G`h|G+ac4J?kbfCBtpDL-SC|}|N0@k zg_bBzB}Zz89eE1$SzcnFG31^{-XI2c3aq#Y01f`mmg4Xpc>X9Z!1_~MclxuC;_$~S zi6Nys>aj4*H@A%MWC}GXDKh{x=YX4&d4Eu69qNN>g``<&CFv2T={O>Uj7rA=MUf5{ zqMaZT^6D+Nbfzi4xdp{lF*{?@QA(F2=ei~ZKik=4N>NT3wnua-U(0-Daoy4Xu zzp3I8ubKhOW>tVnP31CoX9MxwtyE!19v@86d`^nD6PW;Q*)EUfPm+d;e+*+7z=g^- zs8d4J?77a)J9{a`4TyT>RV4dnQ3}f0<+4 z2@L|FnW2gZShL*ccUg#OT~-U{JS3`svEtS3Zo$YO!2aBufOC&KXu;kx?H1v-fMaHJM0e}^q$darW~ze zb~dYEOJn63#G6PBv7YqkL!P5saJ6&&7Fd5|aj~QkZM=y(`a?}+KyH=xr8Ov08Qc00 zj&`zhxApT>zaK8#(PNu0L8AoC{AJ^+0j6lFeMi!d%5HTbX z7MA*mQ2O4uaIHCJzg82~CS=MGi`*2zX9rmi)|0~@)bOb-;cpQCYAa>>5&dz?zB9hO_ztU|!L@PjQ{o?hRqJ&d?ON2@8-;TVV3!lsioEk-jH#pF&N;)06 z4tWE1?S*5&<gdt-80MXN0mmMLIJ zS<8Ni-#`#GW?XXnipz6S;F~2<*&2+R)E!qx@kl1Wg*6;USg~M+o?LbiJiRHi8N-wl z5Q9$>yW-XP7*fc)!G1rfD0Ws_(Nzc|tE4`eV?9EX;Nfhb*6<{b(tUy~Xc{n=GKg3w zjIU|oynfZNqmG-QF}6OgO9)d1bG(fFz2#nPqw19e^9=QZvxsB7iK&aHg^1`e4p>Iq zK=h6hWkc8uLw14eC}k5~$#kD5>rYoPxrI^iN5mPH=^+vF2*!|Jf+^A_TX_(YCXeM} z*#(Trc;jWAHNnMyJVHV?mr6R`%R3zm4{IFAOP$z5hDOeZOUHGp zG8U8xBZWu*hB2U+289E0-EywW@|#?KNydC0xM!0#?4Z_+xYQCp`HMv5_3IllSVVBM z)Yli!f&6!t)1cHWxn8udu7A4oy$K8ERFF{VZ;9aZAC%k+O)F^E-osoG$3bFZTaH}A z43_%kOL--Q5qbu$Rz;6CN6ubEnKV)q(@@S>nUc85=1&IaJbX-hzUO$g#$VY|Q#iyK z@ndXQpt!YBf9+X5UFCrD(pi$G0}BKc*}7BA<1s&sE$ZyM-ddAX-h5P%qEIh7NN!x$uIc_n2)vK5V|7ZF5-jj$gx2#t$-dN6Gv( z(byJ-g$tR$iJ@MB6NnP_Q_v|P`o=XC^*v_VzY1^WM}Ju+Y$`Z03IUo-G$j^p#k&}Y zar6&wwEnNjQpe$n(XLk+L1RJoDFFn@+(Ni#KN!?od(O0N$S?n|4<;58TS`r8BHTsa zPj~dvF)?m$YJ(H1eOY!oCYzsNau$mKbn`sIY#YD@e1#s3~+J;pdg}kcc)av!*vl1RE~^K4%Sht5UsBT9>Il}Gr)xo0t%qb^+owCp#g>u%Jnnh_m%-1E%! zyGAkK7DsjRPQ(%lYwn16WaAtfkiYP$f!D_G)2xJ*z|BiAsh-7a1&K8<7Y)s_&A&(w z2XGt<+q$F!Sqh9%G79fGF-tHdMh6&k(4~`OQJ;k0PW0iwH)(~#arYYJk*$1+VdX#G zTyDS2#JD2N{>^R9aoXYGDNo!b-*h)}>M!VtIokBfgL@n&D{ta>UG$qaDY z`x5z29O;+!BwvwLb-17JFa&(*Ye$p%-Ns}!mwQnTw5oTB!0()l9&OZQgcr{wy)k}+ zS*Vm`>Fviz+bW9~?T&ak9>IY9Sm~FPzt6nHL-Q9;V_tKniM$(gMvC6&4|v?wHzaOz zCt3&*MmO#xKe>VfQmCmBnx5}$iCElcJ#fLdly`7W4hksLIW{KOnG&OU1_t1N>qZL@ z0OQ_!!nM_&hJ-tmjwB_0CDHZ`|8hzM3UUtZp?{`zP&^0hM^(VB>#PW~fWB$I<55K? zal1Y%OX`~o!5XChI)EhM?WCVx+Kzp6Bqm5tun)Bad>53jNyuy?PpSwt5%fXhjP3Vf ze+v;2b>AaoxC%n_*>`gRW`1-fX+Cm&6<$)KTw0n!7^tpeHDhW`4-dCA8`p_*_FbHP zOTa@H6)B|Uws^o6lVw$UbLNDL)7%hJ{XkUX={hq?8&uOHzJYHn6&|@*s znCpgFh&GgfA;)w~!q_y|t`Tu+_%?`_p+!KX{D&}9dbwi%ZaqKAGmNC?9pNr!<`0@> z&;9UAzu(hjXA;7r0_*JImdp|BjWs|yX3!Vs6(r;zddqhT`JN4UQ^WOT?q9%l5WM_J zs8!@#ZgdK^GJuT28w~n38clwg+&Zs|wF}qi4b`~5*Qm2ngLdBWWVo-3C6L?eT|7+P zkdWNGjoWIMvW@>AUDT`So9H)Sp+Zx4o?bJT)b@oZ*kzX^gNB#MnF!XQ|F2++6hbl? z49@2WB1z>RGJ?5&_l6aORF&jCkYqwYQD@$q%VU9;`(`&AKAX>$nf%XaB^u?_u&|XA zXivWwh;`BW+dZPHUl)JQVL~(3A28Pa8>V$>LU6>_PowPyWL{fAwcfKo1irGu^@nqv zMiacVS9+~`SUFjE*+Q}-cwWNv6O&4%+-`+#VKQX6vhs(kSoh5eQI=vv;>qK!+f2i% z5CMNsrNuvpr9TpeC4W?L783)iyn|UD2d|@m}Upi=F1x;_7Q6isyT4f5# z99lYS=u}bxCcfdAEPtc)f*h4^wTc7~r_AqZ%C3BX-idfdgs+c$)aq!LVpV`QUYFZk z8k{!lgX@tuSYbGI)$lDQF0+Ctmo%qlh9V1EEMM_u1(9ir5wXOECOofs%a>7BMe?@Bx>l9T_BAz!QGsqWU$k>qVzRAOr1awc>JofhoM~%(?8ZTcRJ-;@1 z1U0gg>-B47aa(=}SC>se%jPnbuOR~+c$C{0x;$0=Sk}F`@B%2{3kLMH2Bf6{!sNrr zcTpA)4VB;|S!mRq0_~@>$C%z)*!d4iW)%AyJ8Vh;EDvpS7wFjG)KMl0U2x(k6f|2f za+8oap4{&la-PawaLfZP8ssTrv=6mi?A0Busc1{fmz$zr!Zj4M!aRs55ukammf!~;?FQx@!Ht-{K;}k_e~)* zyAbKs{c_GVyPL=E6&BA0tpeR4dadStMeV;T%<=0=tH3g-fnS6JwGRaJgtJ5YJb+r%pY5dwmtXrjC(7jT5s$BFvdJ(}pR*@Fv z1^eE+Z&tKjtC)@$0RU>TBV1Hegc6vpkv1vZ6(U!lyLMrA0-XuRCNDLe?Blq=U5fUH z7x_&^V;1Jv)Jtpo$n&{yPE8Vb^LjSnj~BKmBNhrd>%gm%i7kgHqhh+GyQ9aDg-*O^?-(5h#xon_w+ijvtw%l3{FH{Hu7lF)Aq4q#!Bf z_;7rxOYiu56Uxa|;aKzos)oi#O9AGB4AbQ8+-DF|aIiOeWWwpRtT(ibVI??t6qN|l za1C+s9+nV}TQyP)iNqU~LYGorAqn&fdPa%JPbB175~H)*KfaWw!fBqpC5kp$pQ7TH z9~HWObk%rNF~A_I?YRpyma=dDhCc#5e+R=il_s5dxIrA>oREr0XKDrmKKh1t%}Zcl zgAI#jb0iFLt?>~MB&XQ;ob z%A|W5#Ll=WrB=kITAngI7w$dZ3}xdiQn#;V^RWv-Re!~lXK2@$UEVvmhuNB-Ukw7Y zcO-25LRv*ln>4nMnc|1db(>-c_%F>G7HnEK4;y-e?Awr1ozc}{a64dsBVxtJKf`0pFE zS*2_bR1}E7+Tv5!`IQx!G*RacF5Pl7)#v4@0YQ;Vxm0lYiHW#puow$OLy*IH9oW04A{bRQm_i2Haggv_yq1QI}d?4_9B9cY=kR-MYvZ*6gK^s5;P zuheztqZ2-W4(K$3(qJvl_(GBu?kQ*O_ni{Z7E15={O5i9%T(r5b3kSa`#Ok*H#lxe`f9l7_E?IkU37~LqzdG6kobtQ5J9r znbN~QoAQeq27PQB59qwnP4{x_eITnZg?TM+ZC{*bE1dc&g~RC1KWv`ykayAK5jGen z7GlS9#a^7DSL0ER6w(3KBOPhE+0dDg_!JS=!qH;N+ZfFxwGx!CtaNAc0v?^jbbB%Q z0vlvNSAzryQW|Ei0g4hYIBDiJ4U`7kAO(T=yW8+^#cL(I;(hLOxbTLyE>5_v5M5?? zuVK5KfCul4T_qOxr5pT8-&S6d#7@@4Jr4Bz!$|ZcP zN-3n#r533^#kLIU9dEA0tac>6L&AjoK0Bq9x4V{OyB~c&% z|3Nv?02|4As-7K9<}1lPCPADKW?dys`G*8{A+u~QhFHbty91$<$9Z0aV5tIWX7GKi zB=Q2QE&DnuPnX{|GV!G-N1D+>rhRB&jBmia##>IVQcfg8W%wfY^I^!j`^3{}X&Q=J zpflO`eN!o}mlGAb7~Qk5A+W!tG~iDbO?!=KQU#A3=`Ka$I}_d+;pIBefpfp3MH`kS za`!TO=1a0l+pT@z-G~hccbY|b-$O_@qR(h%OW8K<4KZ0>h;zn9>|~6OEICHhUapZ8 zq%ld7_FeDIQUr^~APUHM9S)_dD1@aYi>u4ZUmhYwIr3d7et- z_lsU73z0wl>lHc8xOq46 zTNcK|eH~(9-O&DPd-2#p5xUX>9!M<_m=~3=DK;G^F^EdnwP;W>K}k0FdoePc{wxqM zg^xSj<4yFe#uvqxIMmEp@*b4aA&h5yOQMNetFf9aO{phFCSsRGk?nBt%r;b-;PPrg zwU_%ZcrRl3@R!6JOk zbQZ5N0-~453dj(7C$BT08P)A-5*Y=V^$?c?muLqh80oLsiEIo!gF$mLYW7yuJKu`e*J8RrX@O0NpCj@LO(M0oQ~8 z7M)-;-@2}#h))-Ss?ktC#DUbK+5iVH#F~f|U!v>z8>>l&L1Okqb6W$OqxHo`f297q z$=#7-CMQl`e{9ae^=Zztw@TAb)6HkJKK=Uo;}I|yS5 z4Ubp&1+aH7{=-Im*%)~1wTG^RJi4BCE)E#18j6CTo%3g7=q-QLW8Pi?5Kw=7wZ?}Z zSNDD~CWk-2bU2%b+3N*4CZqFTCUYBHq@61|Z=`i00i;I(^0E7_TlO^cf~h-Sj&{E$ ztLkEs+n)b+4`s5Q9WlzyZQ(?sUS+fX2qDkb+aT75@}256vsL9IZ%*8WelpURXbCF? zo@Oc|VV7~DTRi5pbIonJ7(Ruug{Gk0H)CSU>Q$^Fc6Wcd1VQ~jyZdi|OVqVeYb7L` zVJ(pkQ!_sT#J;V5cSI;QTZwLBkm7MW-}UbP3AV(J6}k^WARtfx`6$r~d@EPqIO>L<8$1!NfvEspN+~)66`R;Gu!m zF&ZAH9;?Oh*V~-9tsC*ACmKUl?Knl3hktoZ7_=cB)!8~Hq%xM zji)MfW3W3~-gZk}`U;$wp_YRE(*rF(rxbGyiJ;1V8BIqm`qnH}ZJ($dx($QrUeS2` zp|3foyg9XL2EP$J{R=gxlY{D?vzXOE;CN$<0N6@aOHZDV#>XW7($|&_Ggtb zj17MW$ENb7rmGY27Dah+TKyy$7f)_-Jn03CRv0^T?`c-{%e4!s4=AFKZ}g-+=X*Gr zf0VK@LgO8Ck!F{>jm76H8A_C9)McY|9V|2rJz0T%6#2Z$JdMB=iNz%mnpuRhsCyJU zY@%?yfnkFjyb6TJZ%x;aJlIL zJ+08av?K<%>mx(}Zxd0#z|4klrHU~opHfO$PIThYCYtdEnUot}UA;HAzYy10el=h| zth`mB=JV#%*?fH%VfC@))@$WRS$U# zdXmof|HIZ>M%C2>+oHI;TX1)G3lLm`ySqbzySoN=cZc9^A-KD3EV#o4HtffD?)mfX zxPR8DRo&ISWQ?|&H7hjl?iu-Ar8;;d_ztWeZCRFc?`h>(x+~v<^S{X6Z!enrCHo0Y zh@FRjAsP z^$EqD^)A_}@I`=z7ddEyVFm)HC&40ozaU;RU}qF6kQ^y@8>{yQcE&AIi>4NiNedWq zk)FRsl!VVvdUywfPC^bJa$Ve`Z15Lw<{#$m^HZv90jPZVuFX3?*weA&<1i<73AAKi zS(HeZf9x<<=2TZRbR4Y-{xR!v3^wwfW?NzM^+m*fY{ukZ#SXX)EPBQRjLf%dLo08!S^^AMYht{@x%!CJ`Cv{W1zOaDDhARY z@=ht{Ip>KqfUCC~aBM|^NekqEQ@A=i2#v4iIQV>O1y4?utg=+BCipE?Ro2DPx>K5D zBjzKGKKR&3X-#UPy=RMJXd0By>c5Ig@Vl}R;sf003bSmCZUydg1L1UFnz&Pn#0Q64 zX;Qy2qh3rSxvF!9CLs?#4&km?dS_X!z3M);JoWPCvUesc!$O-S5iqf67U4|SLJd&YLDL% zBCKImf3MsVnX0##ro<$&Pq67+apJuFxqEKo?a7~i_D7}d;-eEw$H&4hzLe;y4u|?a zv3`m*F<*Y}r#QfV@#(wS#FG{)`k3QYEo(`FuD;QySk_78s{h6vPQXmJPUdI6A#lW7 z!9i`(zS(7ZHMT_6UeVi)9L*)m?@*XoZktm3udoKov*Qv^=clBmsd-`s?mOjF(uR{s zSYHAgPJn!(8uIrGSGWKb!l4MRZ?kXrD#!%~{iL#F$%W+@vHT651%0ZM3@1K^kz{j< z*cr_y_w)WUh>6V)-+y-}i+lq1j?)Na^a0dw)l+DWe=bBFmdo${UM_A)M z3I8Z&r1?f!v`8e~U~^V!(Kz#cEDA~@8Y7#r{XZLW z{{ft!Wg@lbpeLW4?n#=HGWHp$?$cfdH+zarWPxBP2R6oe0|n}DXQRr_)zLE_q!b$) zu0AkdqB8(q4IDf0l~pExhlVn4a`&A~l%8qlPAsD+MxHg$T^TZsch9fB+wI&W-r2hA z2L3T3v`G%#V$6Ts787&BPF)=oN+>1s%5OYD;k1S|nTZ+r%IE{U-GWwx62gop&b8)w zk%vnWj%q5C`aH&p91ciY98_?d&b7qZ`^a^P5U4;+zD0P1?`sLeUJkE54AZvP_;i#% zB`KIJQ=@W^BCV_8iW|tKLbx6sG|o#^UKfi?h=alH-<>m7@QfyVc=*B2{}b1JL?(wB z_{b(PVaKHEtDfNXOXn`CDBuPqDo5NZz0)xY~9Dc zGGnd`#XD}DBIk49k6DH}{U$Z^e4N`e)=la`d@sfA)7c8r8Hy?>ke;b%7AG6_wzD1- zcCwB6%FW4`Us%3Qe&i>94)iYCJ;%%SWB@!npS?y^`R%!Y>y#=saoOC3y1%|-2~=Y_ zPtOSc?^F z+9V}^gMHQcE0SvB{Ox0()-VJ4^yFg4GzDumaIu|t1~-y$T5it~la}|^%^r((?Ev*{ zaqBiX*kdeFwr=(u;wU;=WaSHkS=LWU?IQNHZ#KA+)3a8`9rj=izKnS3NB4ncIlT6O zMt=6q7(O_|>^7l4Z${54;mvr4V~`R0(AzhvgR=7CGtk@a+EugB76<}IPXBTMfzgX| za6}l#Jz)alsD(8hqSdx0;g)zA_3`xOir?{3hzm72e?W6huvJz7(Tk)y2x%mQB*akN zNBBuE%SXs$yrLJ^w@2edbNM?^0wDaf1HY=xjR}kX7O4H}WrR{szK+)r=K7P?kc}B& zuH4&=ui`y=&y_P{RB=#TxBUB*fiV9%+ZlW;Qbf3)m?f%Zf^Jwdz6MR(anf4}n}U?a zthp=n_j$;i=0#Qbt{5b8aU5++K)8JNZ5cLyJOAEb?{0Qw^TL!Pm{=+^JWam%zV}*s zMg_qQ3wVM7h>#c(I_49?Xb@L19P&{IQjuCv#^K>!q@eZA6*3xaYx=JPpJRB6y2J>u=^UEKOe9K>z0XL)cgyp)3+EhPVaS1FH7t)eoe? zLYUBrH8@^k;FW|RegZ81IBWTP6bHb9?YRGfGE8F<{o2Xi_3WK8G$&soYl;;f6pRF! zCL}nzAcKO6!kdZlXMkT+G9?k24iBD$@)MU518!|)4AeXxpNIrNzkv%ul8hx3j~l^$ z4i7MzuosHsxC3P}Xiae4rqD2%b%l!s*h~I)j=4MerJnc;lUSH=yyo93d~_#QM&k24 zd_CQNA6<@-T|UZYXJRw+oZSpZu~T(KJ4KdkW9c0vw!?gf-?0!^V8;>fv@+<_QO0lFVHMO|pq5$?*ZFf8n>G722j3 zP3$+W;@Ul@1&|iP^;c7ckel3iH}E)~2}v&yet%1H8_And^z7M2R!QI4Dw8W@8&rQ0 zFK9T;)VzMX-9Y2*NpWGhhnbi84tfiuauE84dp#vup-j0M{cSzb{~u@ml~K^oF9nwo zx-hRI*Pxbq{Pz9LUz9fI-mVdJu=7y}>2KMoUCh5+a=p30a0^k^mD!(;ZMo>neoVhS z*~H!#l~W#RTvYZH9*^qRC^QM?<&jWwma25QR8Fv3lIWfDUpfv z_uHU_q0s2;0^F>wB4#fysDl0M=w#X=nBXs#q!E*;0o|q~!iWhUveZ&Isodd%seSsb z*r@xr-*jfeBU&lggM5sOIPinNeL=9>Yl*waI-yY_d)jt}GN6sr1S$``@Ab%5-x!eUitl@NJ0;+W)@GjYmM zvl1^LWW&XW)9jATtA_r-G;1c>_Fg^^=3M~HNN#TZ$it(}%X70X-%=Lwu`5-$_Uzq6 z##EWol*X$5LyIcIMKd>`$lv0G4tHg)?9La}uMBUIBxi=(J7p{AKPAt&Z<`#Le3&35 zsUT7kUj_fhz?0j8Y0!u6CPu9i3`L(E99AN!WYmJC^>-6ql89$Ex~Ed6E2=(SRRVQ} zMlzQ?a}tP=`~y2@%?9!l2hs1Khbz{~ibChvnYzAKTTX`Pe)A@}hT~sCSBqisyumk{ z6~1=pg3GZ>rwlZe_%=2XKlvI9O~lS!q|`B6etWazzqOuidZ*|Snw>*IIVD7*LAtCx zC5I*I!$Y!2K$QdZ-dk_%VDt>>T&xb~0)ueHFU~1aX*+lNAddQ_+$T<)_aFaoC#jG53 zGc$Wy?+K}#M^V-{las;FKeFbuDrtubrx6{kIX*kG<(Jj%`rx;Z~t>-@V}^>|AWo>yuQ$>S8nIpso;h8k5}(sBQxz^&$|IP>BIYv z%z(Zf7#~Kd=z$G?!}~`afN#GPfp4WhfWEGbAVc|xe)s4bPtL1H^XR<{{)f}vzrN5f z0sl|(F*41svEb-IO#?4kem$>>J0Hv9yW77{f4lz5eye4!r)IiN+hy+8@a_aDzC_PJEB7mPv-S4ZWoTezW3iqTW9c<~H9dV<;A47INK7MT_AmOOe>(QP z=7-_w-Ga{PIc`a7d25dbbFVST^|lQVJ1RLk9{a3K%DAK5Q{tuGq+W~P!0g17fEO9# zsilQiGwOA_{Yl7mjhleyRQ~|y6a9aEph6JnWN85(UlID_0-^o~(B0LgY_Q;RFbye? z6{#Kv*uv70vOl}BCm$lF4`LdQ5X%W=LjH(@)usil;~1Fg^TKJbrK1kw{p4dEFeVvy!H4LnnIWyVhKMh#O)z%7Q<_=;jw(0RDL$_ z?Y4p2A(rH`sPwbQ&FMcY#80c?{~D+NtdxuWS+??De=VU*4wFP+`O)9GxSu+$&t}rO z{?k?eXDR(@Sq1y4TKrVS5`0!rM*eJv>75C7)6MR)P#5z*-G6OQ{%17tUkAFMdI5&d zUYP%TQo8?oq4`LQa}=QXPlxuYi~W3Z1)k44jsFCJPvO^p0>`I-^PiA!H2R5arl13A zul>4c3=CJAxOix2WUw9WA1W^md2VEw*dyho;W#rkRR{2Zk#ex?-?Xt_x;1VT3_3^{ zH;g*FLBroGGFfXG{A*lvKX$gx*Dcp0o5f~?3*@Yfr~O3SeUB%m{0TYg%8caulX^H_ zv>3DW3jFB34ZkZ6xzMzPd)_x3hX40}U*L`Dd1N6RCr@6^w=h6aEQs|j6~l>Kd;MJd z{q8VW$Y*cp`|mh*|K?cEsDaKjphy_2YND;#!Z*w=hPq&I5<6nso{^u1L`oP96OdIy z(=@BmfB-J#x7-?S?r%yj!T5yl|Ml$fbBdhxO}AJ> zNR8qMxmMtM6~pRSQ?$%;)aROs{M=cV9L3{xhSAC!MyDbx8sZC=kI)xUVC@@R{=#*^ zfX>y&_abvp>ocf+J0BJ3HpO?(oTLMU_TRBa*hfh4 zp#sK^q03xTJ8!uxxlDmDhi{3Hq~&Q!EWS?n+xRU|eT^khWcCGi6IdZ@pXyq$Mwr5J z6ZjI3<&Ewe+zp4KI?bIq03^ePzt(Uyp_|vFlKs`H5R=ki#cdV5rO=CSDqOBY$Bb}5 z()$8dT}WDsbmKuHE7vNZ2GTH$^ghYNRR38HQ|$#uipA+Jqh_652Lluv#=_4;no5~9 z51Q;|E1htv`@suj$jfZwhm7oOzxCq#2_{2i=UPw<>zzoeMS;6vXV>q9p!+>CFvF5v z7TgkJ5)$X(E_O!2N()b!poiL{LPM@@?}j)_vW+hCJW_%r*kt+@HNjp)EfPi6BdW01;jTajrOoPT;XIg!rI^d-l4OuxdeTb064c7)MPFERuU zHy%+r=ai&`Zz5j0>SbputEFcVeu|)8d@!9XMKkr7xj^Q>d`Af?UT5xVVmBAA2v;Hz z>`2cR)n*Hu@^JHtuWj1n;)bEukRG`Z=!9L>8tocpln-d!ddonvabc}`>jM!RnC8H_ zPv?zz5pIsw2+a3r6D>aGgy?7RDKy9JB!|t$BFF6&!Je6IQ{yjg`Lb*0=yg0{)-^qz z59d%kgb?hSq|huMU?sKFIvIALn3Xmk$m5Yo-y9H%Ki=3}do$jY56KgqV;&M6W+$Ukt zkPZ~MUCUTP7|x07n}Vc1XV>e zd0-#&08DXf62dE?co=jA@u2`9cxoU5Hy|2r-B`&?$Fh1yA zIkO-QHlolt$T_ixwui_N!G=HuQ+f}>3qIiK3S=Fm;f~6P*@tj?6ycCO)>6brK_*T= z4pn>yCquxIN`DSUAUM&zNqeuxmi*T>o!`Q1r%(dTQg79NDbGzv>RPBoobpbMZDGj#@O)ZcI8}=mI@zkRFJ7M5$8Z zbI(iyS4Y&3tM^>NQQQl3bod>t-sFvoa=JNz2%$*b)IHbE(m*r%wktap*2bW(J)+c~ z);fynNxe_S5hBX~g2l!&&cM13{L-Hl!5hfaY4E4Qfk2tlwxR;U*-X~Qhhc89d}*zW zfx&X2n|-4KQ7GKiwBe?E2y>r?0#hiG__CqQ#1)D{Hy`Uddhm}}rbG%90`?>eWh|Oq zmD9_KY_AE1C|L<{S{((Jvr+bUDN0`eB0ER3l&0&w%y)n`z2UgyG_7Hs(+eB*%v8`S z?>kK^F!5B>TE8QxTHnp~_6n?}JRGa{Gck|#4+h7Lr4MZcIopVmDV_U0u*`(Bd@-n+or<h92A-3H4bt~iJMmOIFSv)l8 zSuTf&LV;5F)9WxP~pm%#5Im&f*c{jS%ciA^HzT!8lmKWbNhT3UnT#^jOsuknp@$b_h; z{wT61V^(myu_UegKc%(;lQ~Qgc-J{@6@b&T7KH(>spP`h^M#XGJ?{XepsvQ4J6=WG zpNc`Yz9Mze#2#OBjEX03*f`gCTph&xz~9VT1~3UHtz7jvUGl%nvdekSOhX-gaI|7X zEsv=;1GXE?`wOveBx-%CoA@24exU2d< zYkzISP({5DPdC$SVJ{{XA0R+s`7uxgeET~V2F?p+(cJpsrqy#jsxw8d1GRy+M%&ac z{>b;CzoroY{WQFM^G873RIya9?AuN9S$Q3M2A$S5p%R3ILF%ZsJB&33A74M|IA)0V zIKWoCRzec8<9x$CltU%VEnQ7ZTwy=!4cT(U3UFuA4hlkM|f;Px5(3or>t z{gYCBZTREs0uCRyd(e+VT4B!IH;aUoaGjo?P)TYTBk^Fa`1npr%K_j{I(A@UZT~7) zz>3vS%-%gZMZNbxq%8euyBlO%kmFTzt&%h*-ohB~mJG^92DAgzQZG#j#o2ek@Qw7@ zLky1F={n|Eo$$Kxr}L>X<@MM3t838YuGkHl5P5sKDJR*CE3SC$e4@cPEyM=#n!LAsaq<`ot4?cIRpd4~MRL7uqLUnA6ux#=1l|}p6nB||7bPB7tj(*kqOQ*`{i4u0m!#vJ=Jqna+5c1~=4GbRznNvL#7CU^Xt%$( ztb)AUKq`Wv(7ty7U)|pV7P=Pc1$TxviKuE`s0cdod|cNQyrccT&w>V1Y5n8&)WlxT z1PaZ5@xFY4mN7SGr1$O4!^_03@%$3d_o`Xs^Y%g2a2YxHHeK;FZsfRJb8ERg`^E3- zX7HLUUP+P+jcm!3>by0HO;C*YJm&TU?K%-xJI_Ah>a;ccK$*v1MzQC8Ks^#|7aQAI z1h}Pkw=-DMB#&%mNf-tDW^PLoQ1QARS`gvt;{---9~+sy>Ssuw+11G2-n5m}UI>ye z@ZE@x?)SdQs>px83XF{gpLL3X-GO&Iyv*l+n|Y^f0N6K>6i;cStz=OO@NncFAusd9 z=+C#m)NKBI{+cfzXbHkobLtI4!zyH=H}6!>T7l=THv5A*_}Oj`d*G^o*8#4%a0m3) zSF6V-XpVtox;+Kdi%sLfL{`5$p_?c57ygClMe#GqI)C&rRI9I3768C>qA%fOQO=*!8xhiB}P{Kde1E>P#Y#n-EePfB|EV^U;s-u=o;;0>&JGIi;Xjj=dHDdz*^fQH z2!r$A2i^jn(UOwQJFkmMYKh|yx zZg5+lj!PKv(}OGf$kejxYEe}fP!rm!G}2wu4jS#lP6AZt^T>zZ=W@9F6}L&Fh-+~~ zKnSt)3`|afn~$#?8$afBz*-OFGVp)41zIeQrn!8t=C!a2BHL{6~uzMiQETWeh~ zOUr)Q>YvJN*V`G%-Fa-l^lX5ySk}NWe7>j+E&cI7x!V>om8fS@ejj!Zk*Uj?xq+0q ze2)n_CsN3nHV%fde$DrXoiLy+wGsTT(9HuT4FlBJzytEK^M#n-;Y(;#d=pkm&`Ex5 zrz{RSwf$VRk*AfOqSXQ51bysj2uJLlJr2GMmyHrBz!z*h9 zEcF_n*Xct3BofEr?uh>L%)cE9e0=O)bVVq@KT-PZAW>FjqijGYo~6>~R|@A(W;q#5-M|mA@o#$V;Gj0|Be5@i+o$x1LVL=EU|m$RudjSf2fJQYvFeA zT+#K&AL%CWA2Lnn_~6{{@+=B8;lw^%b*>yd(D9-{WWkn8Aw1anVI?1%uD8Y_u*7IZ z9+Bvwq7P|GvuTqbnJAKxh8N$it+w9ns%1OuaTc>kS`&UJWeGY9i?>lADU zI1~H^jC1+gMSBsR(0yRm1(g|aSTzg}F8G0RBfI7GZ#I!s05n8aZW@Npw-D8kF&a#L ziIvJWKDsM#mv=ozG7?L*`+hY!H~u~g-s>zm1^3U{?>qd=UIrGFo6=Z~?7n>LzpIFR znat3(U48P6I$VATRF3uB+th|wrm{FbWyo~b2_`fM{+tt6lkpRJ((%Ngh0MPs*&9mt zycGfw&HQ-GxjBnn7_?@51Hcn|Sx!JPe)`=53b~1X4qbLS%>dk(4fJ?vn3W!O~%p=9eu31p0jGKE-6n+=>qevg30CPBG@>httaEik`1rp=$ zV#1d{SQnCI+bS)aqF@28g_WLq-&Mxt7jz0RRFR2ff9q~x2Hn5sy*J?%kI5wIiN=}( z;R#iF$Z2Fh;C^89I@ug0pUlj}7>m5-RX{9@c7xF&CalLsMW2=^HS-b#P4;5+}2AXaxZUz5Byy#*04@)i3 z^t%{;2NXVn?Ow2Cf4ELa=8eu%(}mfb#>|!DW&RpXd6CvyzuNHAkZEpt1=v>}G)*;2 z`33m3wgY};q&OES1fL-KZl~3AelwT>CJ&c-H?|g<`z>P*V43^niEXdl@clWMf%wULa~_3hv!ZE(u=K*Ixvrz}DrDgAZBJeUcW#?85>J>`U8^X~T_YrzKJm-?&(h1G90R z{YmjQrGBH@EdPn-BjX2MsEtID1r;9d(nW zQiep=*s%1BdhU;MfiF~TwO*3}CL_&xRdyi0MHfu$z8q+Ws6b}6kCpaB62XUPVP(}W z)VDi|IZL~3yhh;(Q=4n|BPq_6P#U%q?IYjRjw!sK7+=kp#BL`V1|Wt)8H#*lE?!xu zFxWdkS1+J~W`H$AteXobx&pN9X`T1lAK#b2r2kf}KcM;& z-v(M#L{hrxRwHM>1Tbo0C|>|7Qp6&?6U$}oWRD{(SgW zDQf7x^LAu_qY8MJ@b(zLUT!!bWg|3K8F&1r`SzzVrS8_B3V-n!z1+3#@JQLQiUyVr1F*IFa)*2iw1)zY8a3 zx2hxgZXP6LZt3BOfuSz!hR%L8ATJt-oE-G~V50zWSd*`DKdE)cTfOK^XVD-Po^OkR zr);C6D(a#@_CF{`qZOBVP6^tnfjSsst5k2;Ti)ohzKTGt9uycd`k|Kg^3k0BH)sN+ zWe|@oW!QhDS!GoI1UG~O-reLMSCf(X!SfxZN!Ws6Yg*1iH+lUMM6VjA&TzbM zavTC#;oCRs6@B+I;#df5Wfe&zJ=!?^kPhSR=oHHDdurs`vj+|ML23aaE!tZ*Ct%nv z(e&AYDJadbrcoTDWdM zEJgz7U?3?|zVJP9!Fz^E??b=UTQ4CArw-1`xoK1a>Fd*ZP>7I1W9Qd~zISh(=*TBA ze>jKa$o5|@2=XD>Yw!lNt&qRc`M?6(wgvD~^%;VT9a~9@!l(qQB;+<&H)AImT4nMk zqn#ueQ7-AHfvI7g-cGtNT!@*@I>sVvh#6@|-?2|UP%51j>8*Vm_r#!y*NoGzCP%|o zTA@)8RO`eb@h~e#jR)y|3~+Id!kfeHDFC!_5vfAos`c^2?w8v8?+uvSkH0q~rGk-x ztDlPw0SyLZ3HNpaa2n^#nbDRPTK_NnYnQ(q0Ne+MeT!d=*{MG{-igb8^dV0NZCvr+ zfC8BTSf>(~85tw``JyflA_Hh9`tl+{G}($W0E!zbBq20eSE) z|Fn=M7l;Qjcs9#J$ukg@l#vVYKN3}=F5}-ff$1Zo(co-;9&g{f^(Cd#?^d42@lz+w z>Ye?6Me;n6E7Dfd>i%X|_tLij;bXx!VRRXB%pyN^!H4G=vsd3dn(yV-`YLj|8zPr^ z_gBU}1&V_D&Q8YFV2(YR^JU8yvK&~!_XkYjW>p4Nta^S!DcBkLtrv$!6}9|7k8A;_ zVh!&gGAYbidanvU@F>H>wX<{7F4g}eml4ZybGub0cF(?TYKtV*0*^l9mma;bav2|MN8EWU9iAKs@HPttpLqs8uc?P1$=7bR=MN9Q zxMw2Yp66`khWYc=cc#Wwt_&9IjW-^yWv3T0;)C9R@$P>esdF~%2R>=fxpE6r#`re% z4-*bR4kfI@(pKdc&jjW6UK?32Ja=VRbbHObL=Oh(S^1MGtM2iq9asU#^$AF4{>O#M$q*`E%U(V}d$ew*U0S5#!*pr{A1G7 z5d7`pN8=z3Zx9;2!QM$0D+Ejq1`2|KIn@vaB*gFV2du6&x93OEU`a;e{s6qJ-O-^P z4|rPF@&je=r_SyDXeZ|cKEFrO-FNGz=V$oX{%VBAA(*AnMWVgYfx3LaO!SaOiIJ!N zF!oHxru+FYj&1$NazX52fDr*aEYFUMkC#NLva++Lr~E>tRifQl6s>)B@maZt=5%0* zn7Y^s@o!V6YG&OVI1zJlstZ>kL!Cq@8pa2lkRyq;h2^GsAU@NoR=Vaw+T>)r^@`<+ z)k;Q&rSxB8R!c51xm`^kE`RmUY(?eV8d&mdWq}%gWnQgbn?N-_ZhGR;4 z4LRpF(oYFr2F_PE+fpH!i+J4pvXzhM)j&8ffeg8=bpwW3rS`DzXDBXj4fPfop@>n7 zEot(qDJAqhuH}DmsEN;)Y90=|CaR`ybmXRXpb`xIs{ndM(Wo@NBna{q1+|NML7y%8 zHiulBP@>aJh|{q4X|FiOZO2EhQrE<`4uNA5j0fuv%&9TaK%V*H!%v|;JirZ~;7Hj! z*sTn1uHpC$D;>^FnUubWAF@c&y6Tp?M#C#LP~WaWSb5H?y+Vjk_rhz;sfH1qet3Zp@Qa zpAxq9d5kye=%gY=B3cT5Yywt9(N@t~{8b3$bl$^Nv+%ZGvMjp5Zk!wGhs<_Nlhq`p zO$ZcS)kMS&w`vRv21<;Hk*ap7ek-n80ZBV$$zG-+Wmtl~_<=pxYp4YM*v=iIE(+TY zGp(04!ueK2pcUp*`eIO;FxhJqB1s6*PlEnNZ{A;bj_>X`KM}^cdMEv%2Vg)j3I82p-)pspB~)NvQ=YPnDJuEz)avt1 zC}g;C-_@2dC|swV&3p^9BTSjich#4Xp8Yii@B?n@v@9=L$zOlg%;Ux+=*31Qm189{ z0rSnE<@3jXi*rz~6Pep<$6`N1`#7+e&{7&M;@6d%CTVls}_9LR4R3i#uLV#|rrVbt<6wi_%qExuqF5B{?DTJ$# zqWJr=MWFEN18UmJ5Z&w{~mLE{g^w#8r+s&e4x4LkmZd+ zhJz2z8}DLA;uu>aOjXoZdvMo{Dv~7<=w~j>gX_j(D5KLoCFrVON21uEkW%CEXiH6s{OH?eU@p+AKB$K1^(D{xiQxD$`_tU3KVn9>bHiOW(dBO9#Ak{v=1t?o^k zg+K`BLxs|i$d^JinnUmqfSI+UUPLCz?urlhK%xgD95+1+DgN(?M1px;XQoY$!^E~B za+mLA*HWvJuvAWBDVCBn(F5m{erOqD*-y$mS1-AKeAqbU(ZY9N!x7ZvuK!R zt+8MdV=&J4Zvpk*!LCal6=ldM?OP2h!U&`uhB0WNIy( zKKNFhD`=5}u4#Ws)ZO@)x$cij^|+AV>HvaAE~Cj#8Wei6`;nrmnWoel6|hYo?8-n|E%5nnE!Gz>X?4j_fzL_!q?z6795F z`BI^ip)Rzlf|!M4%6g9^LO(LVo-;2d!s`u%asY5ZoVwzblOkojZTG`$yiguYIwlPZMDPMnDb*J*`@Hh zUN-5hljK9_jtvCl4@x}DyO8XCS=3NAJ7>4N$Ein~3odN*)B=W;HdqyiPe>ncKn`8;ANPLEL zrKhEaanqzRe?n_E66N2unulV%joDYD`=sj-%L6S{UW$WiubiY?_Ac>* zG!)EgB$B2Z9fN4FPtr^R%vEQcrOJcuGUaIXzZ$5Ubt<-XztuUQ|O^WEmD-bKa(Igvt9Gq?=jJYH_K)$SqJfV@+W?L-bNkhF#x^Pz`5DM}cE^VGFi%{U;Rzb~5U7Y@vLQwG)% zY_(ZvuM-V451HX#1!Rw$shRS%{(QGUqZ~}|hk8yZB^OEWA*GL7=>*6P!QP!yrzCm8 zl22lg!W*|~sl|OCB6o(gf5h8U- z^-3iobCMY*AQn1jP@1XVu|0q2Tc>kOd9}fPu+=6H#6Q*pxDYhY} zxv%SqCku>-Le`~tCCG3R7$saN!i{^%WebcLr-q^q*?$vdA)sp3)^T^Ft3=gN#G3sZ zl*lw>jR+2%-4jjJ3HnKqH(t-U?;iJ5MPwt^LM=nEj9Lrl6C#+68n)(y3S{3Bo2Y`y z7K7ugb&e(p#*olZSJQUISpUtU@ni1y!prrDQ>>V=ck`Xg(Z}B}X)2nee|EAQHJ$#> zSTsx;W%rW%I$Bcu+8*^z5oaMYvROzoGBLjV4b3V@-=*J8?S!@X$oLy6j_l(3a_m;o z!_iVxi_vL3C40pA=fkYiAfWfb>{N#QRt%0P$a=w;)t|{<qGs5>g)Sb;`fXU-t=D!OjUZPSxbP0?$Om)Hk|&n4P(Dn;N#MC6?{zHQd^Z!?4~*& zu5}ESEO=t6d!l5*nYKS2ByqQL*mwAI^zvH`e;UZk?We2l?fcMXcvES*uwG#W4v7EO zW5s(wj6YjTfA6;;~`!|p+kQ>|v!oM??-Ad`_nO9IeI*(2~ zX+Nq1WrJp<1i%4kBG_YCv&XF?tM0~swzILZ-`ub}?aZu|WkLLXg6-VTcEWkSq90CA z`#}43eDOrLK+yb!<8AwaSe%&94PB->NJMBY37r1U-jN=ij5j>F{u<^obJa0w>K9@2<~v5C z)Kn|xesCeF_GRclcRgae3)9Bu3V94Rs`76{8UBXqmOWxqZN4*Cu?DLXBQXJJrfs1c zIKG71-Dd17rvEZ(PX&dnOk7$O(+}o?h{ud;K+coyj;!8mKWC60{+tZ|fvwAkik%MM z;-gUz&3F&7xY|2bg8CV3w4Yx{)Yqs*NC=aQF`W@l&!>L}M~06SGZ;nAdGEN)`)E1U zuCb~5&ke0$?x=06%^`Qn$edLCH{4_ri`!>Hp!uJZJwdi&e!;D~?FH3ZO93%vt8SUQ z%TlEhu1KR5b&%sIKM82r)*<@s+*Sp%+QnmSrj}EYNbo_^hK$q zLy$XKhx`3!vHkqd6j~yKAG!+x1l;=fK84^*&E;}d?4EL+ASwB49?aThD z=rq1ntywL3lnBS@C-g%{2qiZ~)o7{_RwH#2|5>wkd&Vv1d#K8(CohP}j9-d>ESR@U zy-!%Mlssuj)BK$3+~M-+y5f4pw=rj6>IFi-kje4Hb9JW6r~JU%^hER|q0X13axqLQ z0fg|ehlUL-A!I{tAM2qcO@rFhO!O<)Wg}d!$EVS%{zyOBPFe`-xIBkrs$rAB{A+4X z^OZU9LZ7Bw5}Sjt#S0*=BAz*kdbYGM?(m;!MFhZh<7$%T0+dwQC5V!{U0S54_*aRK zE*+3jv8AdO*Sk>eu-u4p$HS~tRVr?j8gq!x1rRcU@yOwGOwwF`jo5VTs!n-NG%Kr~ z*J_#_1TN^kP!?A0(7o|PcZ=1Qat7P!PAvQNJgLio;VYXK z5(rTW-P#!)9!GDgw}`59&I)))GdYbLQLCCTs^J<_RyYnDO9{! z_G#ylwC;U;jLkpJCbsY^SL?4!itXI}b7G{-Bf4MpbPDjX453^h?{{9@E}GU9aDQoh z;;$zHINn^2W*q3cnS8yU`u>hxIHoPHm#zQsD0lnv4}!I>2Tm_2S-$zs?>KrYaT49y zh=q(rOzXq!5k9B~&ss{XPSjPdLD*f2Em`|E$*t`K7J0&|^#)4N{H$&G-p!{9d z;hk9@Fm=d2+?mFh-mm5c;~xSkqhFDWf}6@+xwI{XxQhwa@S_bd1O;z>=~OxL7+D?F z@3eQTIoNbpI5-8Wn3Z($nX`?q9HWhZcNg+CAp z*-x3_QXweA*GMDn)5n_?&3}!mPiiq$k(42j|6XM4p!++33Zx_7j+If zt&8j3jenRN8a{Izmeg$lL*ND$R4g}(RC{eWI%rdNk(}3tHca7-CRSKCWz%@w+a|jl zxwOpuRCed0Zl?*^Os7G)VeedIi@0KE*H- zria3+&oc(U7uP}wIoxB&Ej02Ld=lrK{&Q#ix=FKXWs7f6Ft*IhAnuEEg?iQu=!c}7 z_IX0xmJT>~K!Z|kpn)s>SLB1*%2)j^_N4J1|vKbl5 zQwfu&&@Mf~;+wgB@E6UpuZH{jG4u!*35*<{KvQ4Z8!G`kvw^$zH7~SDcK&V_Qu^jh z$LOy!Q#%7~Gvq$X%EKsclnF67Ml~Ivv>QD}_n$T!jLwCVgIv`!UaEtvmCZWnaEDwS zw?Xepbiw@l%H@Btp5Yvo2e>c{q3R*?{9~leIo{HP7Zzc++D$xLTGh~sA;?@wH}yLI zt}w30J;7Yb|H&lJe!ap9+rCw)I_f!6++=Px=5zek%oF{BC%$%ax)BZUi$5RGv>~+E z%HzRo3LfTDMtqh`l2y`DM$%E94c! zY$!$Hqz(BPN$D<>FKuOjR1kFS+Lu9F+rzacsIhEOSKeWdMTWm!(NZ3g8mk^k%rp6t z)vS3e{RR4YX)YGU!(eR*ML7p8iQpMcaJGiIz)rpcMY{KT{=^K5cpO$^^*1Akr)GW7 zzFGz42?<$_Y6gbW-F)g972976>7u)Q>Q+G<;$}1V!I^;5MXh!Pjn;$bIn2pM;|qas z5pgc*ECh{pdbf(k#r}t+!JR7#uy-K>)jZB$g-iLUueNC04|CIZXyHIPaneKNjTxck z6VAGds%dE^wvRZ<&8>b!-dy~rcEo8S* zgqg>8V0!rFC~1O^Kf(^rR|dy|v9B7M>by;Ld{Mf4l=U)jw!;{!R8$)!%v1YzW~;gi zTb&61A5-5HomsH08ykOY+qP}nNylc#`a8DOF*@kjwr$%<$98hF_qq3uGsb#d4{KD_ zthwf=F(0L<+KhoXx@ygwYTxqP#<9(m#gI(eWi3HN9o-d8nMCamth=|nxP!(qtUHe* zp%fzx>%;0%qu)lVt;9st9cuoS{E0>h0r~IZFK35uW6f#xFS!Q}5TjoY8ybgLu5Ye* z<8eoqqkg<4DYl1(4$iGPQEA%@orZ1vPomZVr?Ye5f8brjS}|JrbX+4#+qc8 zQY;f85+_ zdsF)nKUn?yTp0UN>nZm)t&R2}sgEwCIf;p?JBwfUS#ozgq+R&7n#zM*D#-)OX4K~P zV<0mk4fPETnd%XvE4~zqk!~X^T}FBG`a8CLTm5GFo>4w)FWB(dE0~>k)6j>B@&v}W z+r2e=ie8m{C?`q8YW#E|?Y2g9{Nf?BwK^W1E`NywI^JS_bKdF6VK*0V`@&t+J9<0h z6({cGSIzh;-&W4neBcvK7g3H|UI^xwS;^{_-jzodCf2OvZa$Mf21z^b6k*9}lfy~7 zf+fZm`-a#EF7n>Fvz{N**J`!fI|5U!1j`a4^g19l?$7#wHP7vq{ zX^1mWl#9{w_9NFS&dTmpa=Ow(YGrJxXx*+M>$PGXwl&-iL~12?yV$xJtI7HTzxfd1 zhCR=|@N#Tn{9b)Zz>6beafT!#mREAb{vJP$2}zIT!X0;C5q|heH{ktu%y+;yn~9hv zG#<-CreyUg>dSkCA$V#1GtL0B3#T)fP#U=%b0=T{UM7%Su~~>;?^lL3@8;%|ti>Wv zOj~{X>?+5&H1^EjQUAhIx0ZAr%em85@wx0z{4S%IR%%#nv3H5#Ts>PpKW>~E(r?k~5iUM|Pe?hKF z)p)0>yNjupLZ*%_3LZalFg9)u*VTv_Ap$_8oL+b23UR5+4n(n|VQN`wcyR0(qa;zQ%rjHQ?9Ex$S>0p~-Kar&1r(5TXDH?g z4|9lhJU6a&dy(DxxX4F$y1{sDf1i+eO4V@(2q?!f?p1R*G&fLau+m5Qh#oyKH1&Gw zr*#a@tXG^TmCRa719u8`N!6ySngcV5ZQ{LOg#=P#y z^U5onSLF~E_)u}ie(}^bc~El0a*X4#F)x_dbnJ83L3imj3J+$Vx;o!j!x-40#m~P@ zBxU+^2%J7alP{w^zn6acf$I^q6^vQdT%iq`2s?6YdR)x5-pq<37w;&ARY5~Jn zm(!`aoVlOIxy!P2vM+N!#&H2%&z?8Hz3f4}sAVAH7OnqZW{s8xX5CVZuAFYJ0J*M= zFHe8^0IAENELBfdrvI`Wz6g?)&COSI4L(%+)vddq8pfW0C%^IZxbi`Y+&c;I|( zz4#(3T6T1%6Yw}~!ujN17K`sXlyqWYaN$98A+?~%PJ0Ck&-3}LU%Ude#L6$D+YKz4 zO6QtgOhvEk4)yp1f*$i{%HhxKIVsn&HG{0~8I7H1tnc#{+g}OT;ZOB950KEB!P|=c zOPVuILG{54Qq!B$BZIRcQbDi_lLQ5XbrxjQOl4c%6>m^CvT@RLS@d&oRjFTRA;WB=-Ci4S6R0-lEB}qjdU8(-*R?P~DRmPo`@vsk$-wq30)Lx>I;7xxO zza0*nv63$df(X702$)NFDkV0so#}{%N;{V?CKyeRT(#Q4+lt(yv`5oh!Q1uLgL1}~ zSN=L4+dveo@Fiv38BBIXxyH6MOa_#X>h>zamKy!8{i7aEV@xB3I7OThW-U&n>mJ`1 z@ylqhkD$+dluP8XTB}JTdJOHb_Ey?Ug2%wW_TKDtcMeOoIobP<=jqX&{LSCJ)B<(% zsFyvy5TajM0p=#ACPg(u0oI=>8?zh3u6i!IRjK7i!5ajtL?uGmLmR*=bHnlbxn2bkjNzm-iYK%G#xlIjVA?pxz&i-p*hw&k-ZG`vChIQw zA%)yhy4rW7TG|;X-G8c|DZRweeDQTs6JZBk1s`powcxjOrSu+$iYkVG?0JDc)knM( zceAx@622<$X!5xU04YG1%&BhyrZ>`%`g#fXcwQWB1XaeK_4TBF%RGkBP3DYJ|J*Hc zD<2V&&cA+cg!q0zrQLyR_rHMF;FEJ;t8LwwO~LKQO)J;%%rpE%GrfF#qQ|QE%r>-= zk%ql=YiEn{{k88Zba~(4DuA8m{!?swo*cOM!0|c4`MP=P?pFm5o_TE9&5C3f#Re=oqSQS=3trAU%=bK2tFxKwT+M1JU`59#i zoNnorL|6PIHr6v+B~s35^Y5wXk*-BYU;^f(V%L{k=k^KX!PlNoH#!XKH4H)BSbhhl zDs+&x7!xthQIpd>?AogJd47lGrX$AK4uT(VW>OlPA*XGwVckWZAa1_I(lnZbt0HqI zjQ!9{&h>hrQM9{{ASl7h^B)A42=bUm8%GLc6j%{TqDGv$b39<}`c_+1KUd*6k_VU| z7w-j$4=yypK1$-g{Qi4u-2*^gNw4U|q4R z-6wYBY_m$R^Wunovg}dac1_R6F%i$4$g7kojd`p>oF^9b z@3?nJtcNh4aM36CoBms<6LFA=q&OLAk?UI}Jn$QO|v z_TGv&>P^?Snyo!F!*42OV1E#%;mp78>i+0SO^y}GB-t|;&=N4Ap{(Lk;!VDRl&qSG zop?NH0QC3jIDUN1K0$!{b!DLqv%#lyzV~XU4V}=$O*du>*urn^-=~g7^88^;|!Ha9b{eKRC#@5GY4H_KmdLfgqc}?s{8de(>T7 z9(HeKd^hY!jK>Osgpxcr4Ku>q2bh=opQi-$M$gCwSexXPaM-}Q+#Y61qUrKP$VvlnH<)u^B&#mv8&!f$ z`3qe7)Z16HvfZm74IiB++k^5Fg}}ZQLh$Eo#@K-|;LhrZUHeUe z)&$#|5|GCdy-A9BjE*n+2sJp(Xf`K)?|+;)qwbUE?HJ8<1y;k5`R4ayG##7vX+=ls z}Ys_6w)?A}lj@ ztd<7FA)}o12d69+@|5|RHJ{`_dy#fnc|6^?waR*JPc$>-lQReG6XqtAwH-GHrxxr6 z8O!hV2Sn38_&$i0bO)=pypddSj62+~O<1ch2ZpT1Xb@b;9X{_7`S4z~E}x>`54m8J zM9k1Q*r*oR9h)ZwpfHt`R$EKL-DM@zB{a>#l4X_UjWa4LjCD)<8y4alXJz5Ftr zN`UhS<$QE?3v41C;EWFxMYkzg?m=)^tU4QQ!jq5CCbB=t>d`QNiGzmD^KlUUFY-@ueN z&StQr&xc zw_-}N%m-YuUtsRjby5c_fk#0mE+XnzMbNCQ@dNPrB5CyE8Q2Ln`73Zm?LZ`Sa3h|9*^(ZiFdM zY~To)PL2Rd2xkUG7Vk1NGUH-MfU_~~&D;=8o`m?=%>0i}%AKXoByu;2BES(I96?~+ zA#vlyoGaK#X>cSW^vC3KiB_h2X0-d(OVP}id z>k$E0MM4W;zz51Sv$cM&+kX%$3)jWaOQcgb?9pHPn-thm>CEn`#AxEw7sg~FY2Q}~ zUcc;mwxN@aHr3@Gbs)8ZDg1krhtl4cM6ONNBjk^WwlVf%aROtGQd{%jHdDV}`>b^v z<0z8AZsXP_^g9`SlVQ+9Q^da=Ruqw42uXGB&He5|OuYU=Exe%lFY1_ErEAxxNr7Ib z-3&-8%pr;cGb+_Gi;7x_ufwNq8v-k26HhDWw#AlaPC2rikRqp1q5`TMPF0hsQfg%f13Dt zJDVu*8a}Ih9=`A0PfJ7fP~BlGIoW=WF66u~t34I@r?%5Pcvoe-I^TwD(2Y{LN+ls5 zcfqa&wtv$7P4(}pn* zN|RH6EspmO`~iKOF*5X;vQTuCMme;12hxkUq*bFx*p_7zB+U51^$u%*+I0VVS@vK)QFnbr3ltc zwe~PF?TGQ?iNonVz1f_yi}@xTf}{FoA_|)486yTNU0B=(U<6wuU_(0K3^-E$Yk;_R zz*<@H$7;%B+~3zkr^?PoSzn)j@+}cXBw6U97;xU@dnmLaHH}o1Szvc` zVps;N>uHQ)xr!g4;4yt3A)ou(0go(5#b2ArX}VF5UIO5^Wz?zY5sjg0J{_v)9?+dmF~)>D4h>>;cpc8 z_WE#Ief|>%+$uAOs2`3VdY%uZ*MC7loj z4!dm+3I&{@L}0ULl%81~nYxb#Ob%Kv@0f|Xkz}*?YkGp+iFxYrflb&4cYat?I!w(F zF)LK@79F7O;YKNiFinxX_0+{9bZvZt{@5$)z&#&>%SXH005#n*X)pyPVr;$Q&t@S|PLc%JXZaKL3m zP))Ua@(sLhPhzkXq#`y#AM?6|iE0&w}NpY(LD|Cf0O2D~G6zY=cq@$>n+csQk- zJ+uI^!2>=i7`X;XvQWal?zaAdEq<3m%99wV>`zWj3Tc>1O7uG$Wv6BR@@)OHI;T3iO2wdWz9mCW) zy0A)qJqI?5=wX8Y1zZl8>}GC`(pMIoMI~y5##lxb`P`k&kued^p2JCr5zgJr!H=F;a(Q^y7+3D%?8HPI%<30Iv>iU1flVlMnld@qWw8%WiP8EPi z1wTpN&@a{G9l%!PUKzOlDWsAsU*fuFkpMT7o>SC8r2SHBYginYESFixzFqxJ+v-a@ z$tDPBoOdmDD<>*b1X9cnhYz*Jq{iY>yS2OO-^*M&eRaGVI{rpGe>DeneyzH`lV*Uu|aPLZ^!4i|qTqBeMTY$zsyX^0b6|3pu)cQhG)UF@R9{x4J|| zzlxs#=oVkHpl)p!%*W8lAis($98SDZuN$_qVeEXlYP#e;l~7IEw6_PaKAaaUXL)nw&u19(x2>t$r{QPI5KA_XT+L4GBmL+CqX%kU)A z;>L=ex>|(9Gs{GKUyRk^m&alCBTv1Z56l4Adm&|>T0#~ARlG)(B= zL9)TB&<=NG6mzaxl6t5tS2J8KHjd~O&awJ_#p6vAk<$1kMrCn_!4|=8hWjx*C-M*! zWt%Dh^3|@acFy)Q5q!3^`?>m+#`Jg43AC0rNs`MooeJA52$3y}e&2uedU1ssH(0!K z*Ojo4vCUgwfhG;?IhobL*ao)x5OSSq?|dEbAv2LW+>Ucg4YPsWowgbdX(c%e{64cp zX{Z9Y-ZW*qwkIIPw_tQ44gEbaDPy2Gy)#S4{=F`YP{82txd zGs81om@5(3sJppJ36p>bZE!MWsp*R?u`8Fwh6I(!j=ycxTY@EsZ?X)*Jj3SfaAgSv zl`*4#gnaX3$cVVXwBjb2+a+Gd!vOH*sp3>X-_&q=KYN$JGYn#};mr5bWA2oqMFj@K z2$VwHEW_` z(i6!5_yGIn;b8&~Uk4aSjw*}}FN8vAu_z)uB6bg%XSh^E`MDqB{*iAD97-^6NsbzZ zf4@OP&G+Br!#OTFBM5~a`P1KX<*N)7mE@^8 zqk=lV=tZw#QBN3BbJFqH0XCMGj|4fx+V6D>JBP~t|DE#VL@ z%PV|#gb=&cAR<2_c_Br#ti*c1Z(wqc(MD`%Y)m!%0ZR5V)-u0g#&jBk*)+GsU^WHv zsgP_e`pTFxtrS?xAJLq#NLG1{LGJO^YLb# z*PPh?91z^!TZ}MvsU5>yC%E1ORuUz0zS;>f>*yyK-j{|Y^J4e5kZqBK>DCz%vb!s3exGp5OBqWm7g#J~&Z^Ew938J$vtlCCh(es{}2PC&4bc;FNrv z2>1Bxp)P(3hXv+9L}%kTHG(E#Lwr4VQYcg6QU}Esvz`Ou|~lM4c}Vq$Sfd2>IwGP@QWCtxR1lI6`czPjd$LJi3>`=bFV}yq^50NeGQj zc-%6U+XRC=N?6){u^)@#Q*LNqLe9R1N(aFltFv#*t}Wa+clSeK$m(-OHb@1Q!V}wG z7saBKK<5u0Psjz!Q}#y@^@$o>fAIX6=qK2Ak=MG^X9`EJnD}c;NcyrFiR{&YBC30-ALnpb}nZTMJ5^=u%x(-!@kL8=s!WT6PdqoPQVs! z&%z<5?S$o=lWa)8y;r($v z+-h9^38Db}(|g(UtgxcfE|T{(!Sd+((;pPrs**Y_P)`wzV6v{XB+;MOO?;k zcS-57FH0@Gzyn*_@T8!?0@dI?bahG6Hzlv}!ru|@$(XX3L?YixoeD>$nrtR`#{T|@ zH)JqlA76IjM!;YH<5a{jm?NiBD0<(r(Ks0*8ft&>#J_HvP^#a1=_v$Mung-VWcSWI zSpX}=T%<$uL`vx=kjxMygTU_1zxcPYk*)lz3JN7xLEgqj)Y#-|~#O@PX6C07QUs9#HTsA6VvO~ z(=gU3Ms8u;>v5Pr=zWKvHxvj9)ywQVn6oHocDO^<-XiUKoxPqohq%%^8T9BL+ux=Q z+xdTaKb?2|cL(qNQt0Rg$ELrrw#M7B+u1oTS>$Bq;cfNP!@Yz(u1F*LEfw*&kMXFp zsKdQ!xM@s6CVu6X&YExPoW7>EmbRKF)0fSs)o1Pd$IJSy&#kE!MK@{gRCf|zybrgB z<7MiGyaRhPZ!`Ck|Kr1Xp$LDE`Kk|Fv&ExXlUaj2gWA+P`-kM~;C(0Tf6F1%e?sE9 zBjNB$t8>$4pMpkxk}%B5sDc-=8+tD3c0*=rfMwF4#H`)0~(gbLm0^Z+HSnixD5wS#J^z4r7wdTurm@5d3ux)VgUVB9=EK1WU-R& z4QthwH==daNcz~o-EmWtbSUPmD-Qok%;nf$#~k{k#geml8z`*dnPPN!T^Lf9pp10} z-+p{KWBueOzBl~t;@56Y*lnm0+E^dF3RM(1bBXK?rW6e#BrRM+3$`{wkSu6BL$1BTy%vCT=Vkf@G44 zK&EUswTG!_{I1@V8%aW^Y+&8lBLIztz1<@Mpi?<&9d*p;dl<|*md|K?DOwQ=dT)@m zgbGfKONE6cr-(Z{j+YGGGqv5riK@mqFRD(@ zo-gYwYki)Q#sjcPXw`i`050TL;fs?pSavW>9pSq)>_CJdnjsqx9nkkOIq#NUOFv4b zkfliV9tG%`8<`i>)w_t8m)3P8R&}U-n!H%O+}s8o`W;5xnjgZCi5(t(E9kQ4$|?R* zwAA01&Hel%CwC@mD>p8C`YoIw`Zcsuy9YkV7nMuP8Kw1W$hfqnff{|Au|uC*-Lt_- z=me1x?mx6vRTJ}k?Pu%Hhj;iFs$1lvtEug*+)<;H?NqMY^4rDtX&1*M!!ZF^+~7B9 zL!hlIpNr<@#rgQ^Vk`J6MXTo}$_&LuZYKlX|EfGfZKzgO@?(f$gjGC&8Hqqv!XyE} zJtw6!)=N^$F}ohuY%_3LR7(YE#SFW{s&li-J- zaHf^YqeF4HZ~YWgsewOhSrzRq_GN+YePQE)@on@af$qiG91(G%SNyRahl)0OSQ8CI zuZ`n=UtxcTp>=0OCB1^ha9CnryL#Y{o|uV*K^PR`EHA1cd9Bg;XEq4}O2IVm@m`_~ zC53bEixg=}<~a}Os@{7m=!vZ?9xKJBsob?4+rLPefGOy7L7v9S(0Ia3v zHPbE*W=%DTaUg=TIN&TJ)k&wp+8qdp*8apm0%I6=j27KHb^)x4<>#4e$B>H?t8;0Y z6HDkvgg1rT@fA!Do2rEO915mltgR<`V(U!WQJN?xNsH&Z^av7)yo?y|unDq`oC1(K8?MN8!>IGb+vBL7-@Ai&;y}} z^#s-13f*+9F-G3vu!!ilRL{|?8622!2X$-p->r8a`sza*F$w863|7=yifbzKfJM1X z9ccj!Uv{5(FHFZ*V^`x!2TbGD{Yz_Wy|V`E`3kdm&T&+tajG_`vhD`G!+pm`DrSvkC}#eJ=n2_SI?+G#ZFJ zh{w(n^jMiT-yORsm0bh%V*}JAYCCcJTtL*q$-m<*GNor)$&tnUS-B><8DzxsRgZ>1 zUIJK4B%nkQ_C~;RiTpTu&_iJ4`n>`Z63Sw5sx|A$j#g!-V|xHt%e4$?3IjPPz_1tE z=o&8K4Lxqm<6EVIl_b196Nr+jo@uCRk(lq;PrykdN}L|uC< z6e2WluwEEt1b+Cjq@j`ZSAIhYnG*tUikU3V$h0s^cnN|lfvvkjT!^uK;2f3r($S(Z zj%0TTqM`pZ!8uH!m9*#;Br?3p^?(D-uDpsBtAt^G21U!f>a~Nf3OXq>x}eNo(|WwI zoG@+ANV1W>CKD77<|A~Z;J=jlqvf8|-t9icAIc6*yNmBS8y@5fL#ZqBui;`~NkJ$% zb)`)dL;Wy~I(Wd{c&t@NQtPR(R(D}j3!L92fj^8-;*yO99(w2Ki--=fzsObOvil#R z&g<7#1&z05h$0b!Tef%J?J!BFQEkK%Qj=S*6R#DIF2M9Z|zS*)V(qB)hjx^KB)ijQDw&u0^^j}5y-rvUkXn(5HE@?N_ZBnXeV^WIdB2_W( zL8~!yL9=_(qC7AhX%*2uFqx>UXc%wKzog){slOY;LMJhk0w=HCUwz8EmM>|yZ+Ax1 z0ibqY3^gB)qupsKx8rxK@8zo=uGL35qkd!_>~AsW;H!M!l5?UF1+%LWgPhIuP8JV8 z2TKPX&Wuf%wqG8s<05)BraRF8|KRmuB1 zdxXbof8M%#B@r|0)60sDRI}D0hrpHG7Vg0_?UrIwi!xzxW8=oSj`(NnW?GGwv2G94 z%I!f8`;f5vn|!Y}PRB`lUa5(M@rX6!@$28;1MGf+LbO(w6A>n7fY1tCq)aLnX8cYK zlIU0%78<Y}_s0vfBFbHqMhmz_u%@keHL3w#5 zQY1G7`U=#;M@qXEQ{?_&6pF)UKcHR8Ptgpw6_j{+nBXWLWmzhcL}ff>N?}2zQMZR+ zH!=M<{bkWfukG)BwGLq9Z}eq;x#N|Vk0QGkTJ9(xa^5g6I39kNz*qtv!*P?mqEx-X z{&38gC>9lj!5Wor)x+F@*(s7C2Dl>#Q_I^5WKi5yxy;sDR(^32*{GHLnrTW`(F1!E z9xlxssR?&N$YQhiBYr;dM^qcvWTpWB34JyyXQYupz~Bd%04Hmf?IamtcvK4y?)lv) z3o@=M@d7F7*f6+4scad&yNcG+k-zdSGmHLNhJ$h$u2;8y$iUbOC}kGf@iKZH`gd5`Sfkt<)@6P@Wk zq)&|-0z)ab7^gN>faZNUj$3mnB!ccSp!XZi_NFSTcCpO7lnnvc|FxBw8V?>LN zxMRN{^{*1dgo4fzEXczAMIk~lpXOVe3VSf8odDzTF33ajYz(B8_WQQ;DpahP!2I+2 z^e-@^i_s0W=LmccQi>k*o%B*;a{jcEfOLi`YI5LTl$>frJf9qtQ6dR>Q9^*cu1v>6S) zr5zWB(WK*Hj;MxKjuF@27+;wbeIwePSWd;)0Fo5 zQ!ODajB4$EnP501V+`zV#KIulSW_U2u}|4Yecz#s-og~$`JXx!YU(y+gnQc(MA;i{ zFbE&kipNK)H{y$~kV=ZxtR9KdwKdr%I{B__VT#~CV1OA(WuHG>A&NbBF-7Ri)PoMO zJAwp9Lhbhd&Ulqt6c$%@B!vCtth!?L_ys5IoJGd04skr<3vo88^_tIUoFbf^;^rVe zg9h`{r-g8O|CQc{4CPU&pbOT79R!H7ITf+hKT&VyYu6Mqz(yzKuD+)(EUWJ+*~0Wj z7XL+5wPDcOI`>y!ZB%2UJ5=As|$e_mGv=DR=-w*JRI#by-dB- zH=0=leB$50^}07G_pkq-JcI0PvOmSq*Al8(jxUUk(+?w?!8;!>_&12)1y%`uctkBe>TKicvB`le*b|Ad0%Pjf=wQwIur}-ew8&NWY6eM*Yq$ zCmt7$q;_;hfr7yZZPDBzK2+QzEC8E+{#Qn-h)LQAlciM=>Hynnjt?>DrMUzZfzOw) zx6Q`iZ!{Ai@h5_M`Z!nYBBHNJWcLsnj;1nJG*T8FwVNBx#PrXu-br#6+iGf((|gC1 z&>yc|Y>{yhf-b!JrC|D}(-JAb zL}pBU%>^R6$S$$Ie>@6Aq9OIISA`mE-Ry9qwHdq|qongaL+GILk6=c92?_GqD@Is1 zM$7^#JibT>y=`f@fnJJt2%o)UB1TB4(ypveSqHFMB1Rv{IpSP8W_dFDODzjtz6tyf z0B93|v_xPGSNy5nz(4$BlPcA#QhYur5H)2BhVl2Lfin{ZWHLi!({t=nYR2KH4K?iJ zc)pB)B!r35o@h{1(miq|7@ZU#HH}+4V=eQ1vT|A1Jru}F)<*TVyA**EL{-iXdPaSVfcBM|11SEPhJox^LSSV4Q zO#YwF?-sd&JR@NKS8Rp1;JAp}bacwM=NPDq&wVTRxX{01i~OIBZn$5NW;*@)JT##8 z#paajXd&?eIX5bQX1LQ56u5lDMgTuNEy4l6E`(z2(?}93Q=EQ-Lg&Ao#yN3`O@Vk} zvyE<0e0Etd!=+=;$I{<>KiUp}bOZJ{cC$F z>i48zNA4@DTkdr{HonpbX>;2ZOaPzyr+gLU00{fgR4#0)RPqw%&2(7~PsX4zXBS58 z{393zch*$>>JdoLD0ec)r$W{!2~vT#!&$E{c8=-s>Xt_%0NM|YElNZp_GwWCQFvnL z{2f)@kV2V;l&AqkSGsP&S>*_X0{DvMS|8$oMkP+dqlr0`5y|%G{awktG^D)vOPm1} zmMGA@EWDXP)Hxq4Cum~};p<&dlFtfus6t0|xrU^{#GJVJ1J~kbfC5j&ZIS^GL}Zf0 zv|>hW6KaA&boW>QFi|}PYFSmtM7sryTElB0mC5$VRUYqz){B5dncvxnd!^Z#g z=b9(G=$_vBh8CBaV5YjWA?4e{dHn|xsn4z$a0|q=IifvbstH@KZ*&5NX4e}xLNtOC zct=2b$skt%AjLZRl?teLjJC&f&z(K=jBmL@M-{a6EbxSx<#%2i=A0D&iRzqD*S}U% z;#Ex|GVX+>)hd`_SQmStVujD8$oNDf3dx8ZX0ako$hyIg-Bk#Hj>sLI$}^!2e$AeW z0ohdq_Meq3MDdd2_)DbIrIFBvM?f%M8{jn?CkStJhGuQJaR3xVcIY} z-UB~K`e2>}^aEPqxx)`bNP+=&d=8MoKS?MU&!Z~C)n2}8$G}tg=(yDXrO>&iX)S3D zx%>wh@Hs@OY3Vlf&+q8Yn&?dW@P0`-PdFDi9Iit)b7Y)OcAUN(HPooGWSXv;Mgr;! zYHE)C;K^V}3&`@~xl5W$n6M?+>RFbJGryePKvMM1HUNo~}7_qOkF^daQuXhL6P-@)7SEW5lXQ`~uL2d5kAuG)dH@XKQDnIh%2 z#dH+~qiy1LRXWpQ=BoW9FA1jQ)S<2;JVbk0BEEALgzmLS;|?FN_68+=iDf1cf5Mmh zAeg#+-4_yxEf@>qokr`>;9p-3l+ze^PN7?ao` zkS&B*YwVdnX4ct}MyBvYVDE43wNeK+@`)mogL4I=+Dfs>47f*E8mThicis+ejL3|X z9%Xnbp#mcw!Z>EEISoy=Sm_fnO9qE;pd*Mi9MHTk-$!-Y$_+^Rr0nrb346= z&GIonV0sZf(jIiHOFNm258xUq(LGi@|A=ZT4PC$J@d%WgW_wH$~IoK>VW~iRMiISRus#VOaf~ zppz|kz(UA&d%90l(GzcwJ!H+x$v?xjAwRV{q>P;@5MgS%-Ccj__tK;dE@@mS&Q~Z8 zLC=4pRZr~Ik!g#aKQ zMSsmpJ^Ob{5W5HJS3^;EKCW*-J(4mNDY}uGO8G01HBNMGd2+rCb&VCb~!v>@#`RF}Zu|h{U#)v{7O$QpVi>~J6--tsn zI^%#P48iL!p{85q4uo9EMn*6$k&C_N&CM_g&LW-9!pA>_XaoV?D z)b6UfCKpG4Yl+g0-(MzR=lz5gW@qM*R(XE zae;U}EkiX!-7YpPrmxcb&bbnoFj=)$I#*L3iYIBAiA|%n%7$w7DTQSBRL)fY#1vUa zGp$s^u_HMpivU&M!f;f@Vfb$)L8zh0aPD0 zudDa_r(Cy8M?~`5*~PbA|8LS5phSUluF5IHGvLjXq&&>+vzCC!>p{Bjiqgbc2jjeC zi_!ea?cv`VqvxI@-~~;8#W~73@PfWRfPjL}CQjT{{wMc0O@+ujY;{mf4x;T0Hw}Pf zWF@BNVxAv*$>AEoc~eZ13{MzgS~bh`Ox3UZ7C`DlY5^lMrEc0?;te-&jq~IG5OvPM znFMRwkF)W{8*j3)ZQHhO+qO2gZQHhO+neOc6X(mRx6b*xx~6(i{l`pqRrfW&`?}M4 zl7q^!NT|Vo5{2fB_L6zQi-Giq9ata++8E2#wVFr>B7nv}tU}3;H-z(owEu$(YL&>~ z45^m8w;AE3Gk!yz8IzVU?JE0M4LbBVRk2MCPB^|R-{Kh9As!gSzA0uH zAUI}-SmEwU`}FP%hxM>Up&j(Lu%MLwa8f5R=6BW!>MkqG zHEXw*o50}*U54O%Vm?al#EUfKl(ndm&}V=WByUVOO@ZG5blN@=j?{_h_mt?LCH}P5{zl}t4xV4=FAb#$uk^RSt zo9i8jJ_fW<89AR$M9; zFu;5rQ?XLpseReQsl)6z@n7K=YFAMjL)b|xZurYdy`g2XtIxtKCE??w( zA63t!;#Yq$ZmDW0c~#qb?WOWHpCvw%zrB?z-hXjy-ga+Q5(j?8ZbfQy0;QjD*6B>` zaE31b=S2UWNXy&WIC*~MXa;%n-owqWRsHmAJKIa`-NLed^ZfM4g1@wW*z!t??MHNK zM#2xmC817Rg(kdDoe*gSF(s<1p8Fj`-J+FKueK(V_l?B^^I8PeH?eD5;FrQI`pi-2 zGr+7lBtAnZdQ}shI@XN!U^$|u^kx4H9_glSz%6=0mfB~7=v}o%QfjGA=UKmFGaO+97QYrn96r8M9D@u}tw|4x z71=$M%Ie32^8K;b@kM*?b92K1X6e+H7y_9y6Dt(a%Ht(72|BEv-k)1Rz9`SZyFC`I zqs?~LS;6*L3GlHkiKKypuC!t6W~jZ@r0N(Yo`sEmyiG2JsSDSJB`k}!r3|r&qd8BI ze>SaIJ0KY539dFkHlB@p83tLLnpdaV_#c)HS~^fHwjy*N&hnki`urD3=!LPvrm-PA ziKjVR<9`?P#i4#m9{{sF#7LwQ#72W_!c24-xjFGG0|9qm^+3Acjw(8Zr1nfBc;uEp zBVFFukFk4DLsI?}X!$D1r8iS61B;$&k?0V#jhm)e>a3gJ6ylbLChWiH0&h#^nE9J$ z>|$sBNcn_cb`WWT==Oa1p7hlS3<1Wm9dmGx?poa(-oOBP-FiExbs$&#EvzyD*^MKwLoZZs zK2I{Ii&vNHr`e^AyX#2Cx0Co|zUBlCQtJro*H4sOiQS{Gn=k8xg^ZN{SHA`$<9bg! z;3lIQ%hb#50G!5%LxWGalF}EGn?G#K9Wk5ece%C+m@)Dy90?pC2R1)I$+16PY>}AZ zq{g3*B&gr5qoC{no~4~U%34R=e_{ODJmIQ8wZVOblc_E}n_J=GY;y(JitG%7kz^3SMfj7cd z}K2KL1^eoPPX!YYmjPw@T&}o^NP&@Uz5`OwB0&&(%E)9 z3;%#mrc;|WaaKOdFN4d3*>0`Y1s(|&1|_-%^(=xy_sSoDc>50!USwan=6AeK@U$#j zu%2jsj7XT8w`p9X4+`>a4ps9}y^aXJiMOuiC;gzhoqy6Rywc9S!CAJ+ z$dtA| zrM2ITW88=(OGSe>L1(zMI)SljMwQWFyZa~JWourxU1te-UVgiL2v6#P9crlC{_75W zt9RvZs`GD=HQAtzDU%Vcmk(LGsuSgESL@U04$YA^= zuZTM}p$RYsY1+Pg;3Xo*oVLCcu59&3Wi5#f7c8$3czzEp|XUS9CI&7{&5L{ zpqs@7_8yC;ryOeYq7oUVSFNCig^_-3$D%8|#?KVFji6c$N#$Cw%~>wur+?jk*yJjE z%l47ssPw~C>yWsPul_!4DcSDv-&Kqi4f7hgl_p$w$j$hPY4Oo49&W#Y2mMB>PQ+a*y2ZPvPWtAmWH{1Cliy1^BFbgtvYk%-7agYLSuW`m#Vv+PQ~U0 zcD1s05eAjB`iYIHXWLw#or34KRqoFOKcz>c>K~r(eajg<{uW#KZi_Wbo`YRh3s#XA ziQxosGnz};W@$8g;b${bq7EskIGmbMs*jgDi($7R4=go570Do zsE$x5t9j1hr5+l`TK;R*-es+u_ty6htTVpMDwQp0N<-w9d-RR+>qN_=RZ|C;ffk3T zC6Nq4%zTDT)ur5!k#VRStPCTe2<;~cRAb*eCZ@)$6phkx-~1tIFAyzr8W!2Y+Eq;~ zA3~{p``DjFTTo#y7Pz;F*xdUeDP}&1SI|qU{D%u%T_5eoBzL7q*sn|1@@R9`*6V5% zqQoVky0S>PH!asoF;k><*jVAV;RD7+7G>kWm#zB&#X~-JZLAuQu&u~C&W-acf15}! zmlh=>bSJ~r7q<|FNFTP0DBaZQUQ^UGAusS6{}R+$Kp#G_H8)JPFA&~kU~!ZkJ@YU^ z)r@~xFXKVK@t0XDwtZ3@X=dzV7{mTA$vLx<0fM+)D7b}qSF8Mpc}|v(&FsXOMeeVt zrk|7cf3Ve<>GnTXdQ)OldPp%|`&Tlsa8yP62^<=K|0%u7Q#(gCpzW$)&| znjpHriZ8`fFQ5I47|g;DvM1JTtYm6-Uv1xKKj7|iZ*cEeU#*Vg7t(jGA0Qv#7K-mn zb@w6nk<~-a>~_>L(`60HP1tVT0E|0?jUn6G&s9 zPVXu?;IDu0zbQeuEeWyaaQ!fUGq|DxP)vv5cUXDmWvlyFWO+mR3*}vUw_j+3?ByV? zK^u;T%x+VJ!5-q&{+D+L0ubsS*ZjN?~+JzvM1IJn0a5f;uqKLRT8ZHj04&wE3M~!3m~MG6<-A z1D_s`XxVtT7#-aOe}2)->2yXO6k}izca#<93yJ94Aer6z=bE>}A2ixcp;YAZ%x0l0 z!3upEygByg@5}atac1}=J_d7dOgwzVo8RqnQ~Fl%7a|(#dn(#NCW5r64#j%j=r+DW zXuIAd*~8aMG#Uk#5Q_^UcQ@1C;4UFUK1GnSWOu>`u{wn_T8C&V^a~q1wn2^XX1{9R z@%J0oIhQY{n+3oNHShfLdQHnwN?sqS{VtcZtt{pk zjUTErpiC+HAr^$XVtrFA^aPoH64Z)Wej(gxN2DjLi}h$O8_uB*zaez-{ZJREaaT z+sJH@nx`^pwVE?&D|Djk2{Fu^B3zvWtG1rV{R1I+w#u{@<37%CZ4`_^Mb|cwTQ#o~ z8v~#OuP~#>;{+4I1ocTgU6~*c-H_d>+3w;d|KqcRO=4%X@k|Rx_Cc_!@st zdSQNWEjj%T9UJvycA|FDGF3B`GUa~I!nT8veg%3m?VR3h-n5>ZZ9{K`FpDB?C4Z6v zLLPiCbWUB(S|1!Qd^Q_$#j_Bv5JZR5=CZenalfT zKxZ`ve8CGeT3fr^k?~VwuXG9dx(;%dp(rI9ew10ET^3k+8NP*SiBr=T{(Bj88r2uVG-rV|!xC=C& zy@bnf=yLIlfI6bQR|}UX(Owx48gM!``&lY72L%H9VTKGIF29#r-+(d5Z-W5k>RFV3 ze}nuevsEq}p*#K#_Q!DEd*GKv`RyC7R!M4GN%+ER{SC^-V6vOPx4+BAN3m*Qn9+L8 zjq4CU+$I3yq+Ioo{J{bK9qsy0^$vH8RO21?VxT%)Kv3>)?g=56XzVnT8Eoj^Q8BEc zF%-8{Yr=QAQ#2PHt^W|M!rtsuVW(@iN7?DJ$fs7Es~3dkS~#o8nWb6(ht&w`MwmB(+^S1v;mwOxw13*7u}SH=7oVwy`WH@RcA; zdG1rrEmIwxTHq^^dL%5QcZYov$Dm&gWj5hxI#iAj#?g&?d>+klTC&^T%_%s1a08Za zgiXi2qeiNbt4%Av*&dKv)tMn~TqzDz-LpDE&Or;TE5?M;C`2MCho%tdV%CLX5sSaJ2NP4?!%}o@@0xNUMa(p z=Rtzv<^QRZCbo@Og6;`%+cu%^UGMlFj!LwZ$m)TPoCH*!WD?R56Q?j?G%uEKtpyq1$VC5 zwq~3D;crFP@I)E(^L5H3KC*MTZA2%pMgwpXs@*SMXIqeOOg|so?e}OqW zW8I44=Ev`J7AQd~d(x}F0y))?dqMW&D!L?@gM;Mr)Zw;@31WIW>+C)2Lom;?iv%r# z*)!HFo9E@};>CSMGj$4YKt|Lsz6Fkc3vR`f@Ab#wAD-)$s9E<(#a5YWWY}q>c+4yd zDWmG@ryus;!|9dOgCVpUDW!`<{*?Vn zx6q}bH-rA|*?mD106tSc$lg(V4!=&a0Z=BE)^PAcmE-W z-@+0xs{`qv-~4Uq>zPU&NW9A-G`wn|;RZQ?Q~Kug&}|!ajI&kL9IXC4PFhWp|6q)k zJ^E)NS?}1EZs4?|dzkgxkAJLd12Mvu!EB{sZo~qC?%PbB2D zmPd7niRtj9_!&F@n-Bd@T3~-{DCLK&i*U@2g)NOj)eWJ+h`h7NT)KkeOuI0)B$K8p zJrs1AM(1qvm{l`})nhDB0~_R$)MW>GMhRS)YWXZb+ZaZ4eqdX_IGptYzqP;`8)~|! z$$_RtOW`@TSxU=c=wBMXDa%BHI>gM$S-&7vM{Qx)KRpbN_8Qf$qTw--Nk^KUAsy@Z zV+e2LrRA{Jsd<3C90cEnh4xTBji80KFS@ay)OLN&NRzdKBVJia*kyr!MbN~IC2MDC z+vu=kQ?m%X+aNg;s~F$`0BgPPoOt1zO4X~YeqvcrdE*~)+%B4%e%G88iZ(O-IzZGj zr(+9zp)|sLsswcUV22gmbcE2Rk*@_W;5?2NbabyA{G=;67iaFKBZ|LJHr|U5%?>o3 zGeCZ4j21FKgxkJBVVffdGXIQqFthZ=dh&I^STbbRLSM?3<*|dq!*?Q4waIrmc$BF7 zYMgsrw%qg&Xh}{TSNr*BDY%*D6I^Vv+>mTfZSc2rC@&qR+Ql+Lv-YFM!LvsOsq=9$ z7=#Dr#M!}YRFON9bu=QAdx=3rDv(>`MqKAdFZ?bHFjz~F?mgS|jq4{`ARqw!{l@Rm z@2dBP?~w0k7d+$5Zij8Bdk6GZ3aA4l0Wz#Q61ae!%DowQ_4f?sv@k^N@~uE#Qf0vH zF<9vrSHZ2%HWC=mnB;y_R~*S6WZ!(&{?&>znU~sAU&F51_RFdxZN9xmL=eAoE zMl30HUU==iB5l{-1HMM#9p~O~t%lrGE!g|vw!^r5)rL(g`+N5_Qb2BioY@wr>z1{I zYojLIf6V0pby$k$f$VR9qVsMf0{AuCi~|VgVDRl zhSSyBIuZGa_ z^AMd)1b{4R1=W)YdZC1~oQ>FdCY-wCpC&ImtXL~!w42?es>Y63_Sav6jgX%!`|~^m z6(Qvh{I<-5)r7y@9^{#8&7+n4K9u?LYz6)4Y&M)~zqM(D;>pjT(2m8;fx!;|ol1PG>rWq%?=8D#I|aczX# zJFCzqq8V}J&d@E~nR5+Ir7KrCB_XYjr$PTZ=LeB#*-+9=zENqwo?_y`tBX#qE%Wq% z%&dzLW{D+OxbVGWyTL5JrbURhG%-~|N91P@6AE^jsG zl=GO>H6KSNgTSqDMsdkt0$o}3fl8Kp+QjKf3dmr%&e7F8@X?0Wt)-q^CPgvhCN2bn zCVWh|*44#rwPtGAw}K|9R^hkMr-1bzHL5@*=oY53dAu3vLMP#UZVVV2EU{FbsRio1gNVET@a9OuXe}5G zrSBudjYR@s%BjsWQT)}E0tHKAq97uXdKWpzw>CUDGBE@#xVbZw5yP)H9(uzf1cye=;17b`Rw(n0cEUOM)l<78Hf8T{8{|#iXI#1Z*jJVSrznFAhaNW z(OhE&*szb}CIhLGZW~+oB);F`Vnhq+at3& zwqAAfKI|G)!+;VGi%cTmOZ;HO7a}&W+Rz%-IY8E+HGs-Y=SMVULe>~@6|#3arPlw} zFV&CQAF)@XFLx($l0D^=UfnNzCw^k*NB9urr)Da5g8Ie#755d>N`h+4d$0SD^Uqhx zFPrz!Cyn=D`(n9EX6N!8xJ9)dHDlyxd1;cT(X)uoS`@cELA;Z ze?<7q?Bu*szeIny-h;js7a8#xx>SuOmL|AqG>(6)1ROmbZAM_C{3Vqoc3km^P+5^C zO8u>G_Dso@?oRgxT>ERJ7d`!#hgtNKEVc727m)+z^icdQNz|lfZ+^^r@KTi?D~Y5n zk}~MjTz!R>HeiMv>vzL5Nt2Vo#JGq9r(8>Xz+*cJ__)u(|$-xZS5krd#ew~@F7uvih z*+zGv4XIlpmq7imSATFS0;JA*`4iyqmeG~cp?MULFR;b)ePK-%FY+aj!vW*;NjOME zt~^~m6&n2Y3VzbT3n!#xyg^oljk3c*wDX?2_PqLVTy#h!9#+LB&CrP{>R#)hTL{#~ zL3Y-xAu&uJ=Eb_$@k9P*hw6;G^3kU4vrTLs_fRug3hI~ts4JGNmgdx4o=c=|VVmIk zHh47c4O0}0qsY`W%U&a!ISnnAMZ>))vo9&599)E2Zmmq@S+$>H z@sx?NX};)KlIH`Tkb~+gfd#l#pzNK){>2urFRSVF&|!keE@cE0oFC9OOk;sDchDn# zYob$d=d|bk6p_J1(7ToAMqGZvfHS`% zQ0SHglea?XQuA{rL=h@8{8`Dlb8DmG%MkHA^+>kQW=`HSDa5Eu8P#*pj-vr52B=^j z`nVaCpQ?d65fsvMA6z(w>*kS!XHV73Mdh?yj-jVQ5aeMA{A%9H{&V%37;bge8iQBQ zky0{uT8^sv;N+H`(jDkQ<$4Df4hWA9*SgO(FKzitxvtJE@wlp@lwXA)olqk%Wx)Kla=dvB5KVrOaagV!=x>TQSaD+ElzlJas%Bz}29S ze`K+vEhV@9X&6iHBpv>lmBBP<4$=K$i>d}fCxUnQ=d3xUk3uvToBrv@wFX?$$3%N_ z5*s+4w#pB<6kQc#-OWs{3jICXw1G#MXMHkA{LWlOcpJhOq8EG{LKpI1QTzX-?f)G= zOEFK9kzFGew{yfNa5Ok%b8cuESM$0uA$*r?TPYmP^M@NSn%SXJf(Qcn26G4H2Hgg0 z2UiEl1~CW1229<(*5KTN7x!Q9!uEiD*y~XL>-hgSj{U|5ZrUc>+%8Jky!TZQl>kO5 zICAX_vwD+Cj%N?=FP5s^xV221XVVMTebiXL-*svS)KENjaQ?v(bcZ5wdRNO&8A)w= zTq|O|+UQMwsno3Ow=y?_NhA`fY}TI8phpJbK2B{;)O$p3k8IMM+?BF=&7jtMJOb?Y zos|BXQV87Ocv)Quy7Ru%b7S%v@mSMn%!UBfp{o*DOtKN6^Uby~@e!@|bJqzPa?N(9 zZ4vdxW5fKQ_#kqjZ=q@-9Q}q z?z1IG#l8O|&;NEg?Swuy?r6+P0=vAr!W5;-JC&GpXEygVcBCufHsTr-dr5jFd=uWM zKSn;rcusjQd(yqvd>Gc9ZXF1uX4<~z-+j+f{t;AbQq$IM7Q(n)*553rnZ}vH*yMMb zd50UvCk~F&%ptJ|Hq=?N6%LA1>jTWUu8)9^jBTl{O!heU6<#agmE-}w7bSxcbOhh1 z;}a*Bi67rn6ySW#;}ZOm<+A$g28d|Qm_mmn%siuBBMJ);sEMSi5qb#H#$prK2^o-k zfP@d6kupd3m5mf3S(SszFVfZ%GTuTGyhk^0)L)rAb+rKGq4?^KJI0Hc=OkT7hB|1X zK9PFk7Fv|3nD?-bCDX??R|z^53)BQMltI3@_+ykbvrgVAJuAkh&4D>DJ^QB5DEhYY z5}3Sxys~!NTExx98?LkFH^Eu>JV{w=SIU@!mXrjJ_EreMfefb&XTcWhjC`gXnMW0A zw+p}d#@F~BWBABK&J|}V(4~eY@74hEd9}m(Ya#{m*9|50dIe*SB2%&I7{`}w>GeH+ z)8j;A4stC@{k7g|ba(orfjw z9P|?&-y^*Kx_7Q!YE6@8=Y7G=PW72*zu#adP3GUEeg_sk-2pIiju5@3{(ILTpvOQU|lwYRU82^re4RE2E`h+ z+BK<0fctiw>D!bFmgo|yvO2@^B<4-3lzT73I&Fuo;Nwbw4Jo{-*lv0zTv1M~nY4Pf z?iPN~GOQAVdVUu#)Ffstn?bTC&C)4|zVn5IObEIYdbHhCd7WT0V|i;T8Nky(3SPCc ziqT-%($)<=r52Jwy@t_rfO2_b<5!jTy5)f6vgCidVN0(wN7 zhfkS2l~(Ub;UYH3>J6Au%KVlbZo>rvic~5|nURtj?N#72f*zuy|BjZKk~61{4sTQ} z4+qIfwog7{{7S8|{(jUGjgb`X+|Z;q*p%J55{BaH59g_Hhn}XGG`V99j*)y?vL^+U zh^MGDx#W*_a0c?b#sPpQUx4_@)6eW&qTR}+2v8dTaD^T8pn-}cGih?)a@TU0V!>fy z_(3y;IJ-JHp?LAqgF5b9Zrr27pxKztB!9=q&^VO2$t|rO9u4H+1nd`)ZHjpaDIB z&&o150Q=I^mWWp*=`80T2;+p&}?a<2Cq7$gA>Hy!ylAfd8`btS|gW9zjy6rR42(|FmV53 zI2;_1*Cr5ltiV_E{pBnPp{R~(qx$cMwZ4amD&??#GPg=54Z14j{(42GOFq}?kUnIx znf<4RA_Zwsaunc$v`U#uW=Owy>*7~cnx5GJ?DB#EY6=~O>xh0xh0y^2`5I;rdRnj) z8w?E$BbTe#LF%2$rT4SIv*xq4J4O`M!gs-xIeNtE2ngC`h_`)gd~6l{O-oecgF!cr)$wTve~TeW-nG zubaKotc$$|@LkqUkT&$1+CI3w?3%W`=9;cN+Zlg8>5g$Dx(4KSKkU>`LFe7_A#Hr> zq@(Ugmn5wx{bTei>Xq6(^#Mx>z+4RL3T)k(bnorZ>m=y-Tde1n>p=i=PJn_kxy7P6N`-NgXZ<2u)V8OnFQEEJve^@>87YTiM95u0+kK<78qC}!#5+H3 z)`AIAhZ+;%2PzM<_$NlS93(w_GTgBxGKYjzKq|jYMY84bq_N(=&9UtJWle|7l|M%e z#hTSU3R>l0jmAXN*@-?Np9-DhWn!2v-CJZ;y0m`ns&sNBkA~vPT=1|5b@wmHuM_^$ zNhIYCMt71t(3%dR=ADd42~yo)USJ^uB~Y`;7Xa^S^Cs{pdCDV76%ot6bpBZ7>18Vz z@C>R|t7A_^tr%Q!)5~V$6ZwN#Occi%4m4sR6}m(DB^$)dId9OSvgTLZqAETjh}ZZQ!<3f;CrA0MAUwF$6pT5crVB|>s}(X?$nk|f;K7ox zE#rT?Fq2d2sbyR%CK7|8!CAyuN}?0P)2yrQu{BGe9I}Wrz;ILu^k--Zl*=6Rv)3us zXY3Nc9slVPH~q)+9I|2|!du)6VnU)9Sluz}f7LFzgPp&$t%y(7m-~j_U_%aU3l#MC$RX3`qaE<=dC_5yvp3k|_CUbZsYd(r%%$jb3;YP4 zWg;Y-;9zS5JYDD^RMB6L81RQsPa%X)SxJ63EN__F(D-j2jfVHD*>|GF_#$5r&F={6 zZ$UNraR2+s;lRUz5v|>rVNQDGGk!Yi()lr3m7OUcE zZ?+V_bBax;Lq~TgFV9@i{ATjcuV%=1Z<0*CaPmJPP^8tV{R391CEUIGHM6i6b>M;s{ z@$-_@@Gf;h09DZ*Uc9<#*xx^7&AeMtFyCmPOs(dYnQ$4Lv?z^%@I^{moRb_$JS z)4(_a*Gh(F_fz-1_9ypI_tWdJc+GeW5vshZ2lIfnaAsA~ZG*2g&!p-|82-DBxe#`c zyT*JIIg>p@} zIu^5CTLVsV9sFE+TzFkqio`EYk8oyE$AJm8B)LvGvb;&&LmJ|USzg&(iO^Yrjdbn( z^;y^ByH_rG=YB?hhP@VF3D2bexXoYBfW4!pPSc>5vUOocW;FwetHM;2R@Za z?%NwlX|h-1(xhX(9#~XjUQlbk^`Q;5#r$a+nv%P9hh+~qM`$Ecq7XDE=vJ65{@VS) zM{pVVV$<_|8O>QFM$A{BL**I4oIgYykqRPQW#QZdnWrNvWQw#$0a(I^0%UIZ=k=n0 zkTVvE^)Kc?cFMKX`-P#s@g+nBo}jt;Ab-!G%On&AfY?7Pz;MpwVF*4PsUJSt+Hj-) z4lVZX$(#QNCMv64*ep)6p@<%#pb&D9r9`zKZH@ZQY@!e09DB5;fMUY3bQ?5mSi^AU zYJF`bB6{q6N#6D#p4^aH@Xq6z1Gne1U~Ug;gG5m+;yfR44h8cJz-|J&Cvz>Y5fHd1 zC#2d&l{o)xB3i!fdf^3ziH!z$UDhPf2Wh5i=9QoIE00{3#74t=jT}Yyi{a8s#4mS5 z$bhQxldGW+H9V4B6pmK{CB=7-x7TDtdTS!}P=}y8!0IH?Wz%ET-|MB;Mh!Zyz$%pS zpO;UGV9&a!_b5bo)QiP&nU{-jTwbp4sK5*D?+Yq(?;uj2ArXW{r9W8``BaNqp0#*! zVXvwiKf}B->QJL)xHt%)8M;hS0MCtBrMY6b2t=;;XFh@|oZTBPr2VsWKv}KFtcs)4U8FsCm}Gv2re1>fg(7)TSFT>bQq&_t z(YqwhQQPx3HV#Z3gpy@j7UWGZpMT8|y+;SEy#3@-uR?W9yLOXjN0C|28dIktM6$SG zGNZ0GlB((RP_`0tGBP=G*+@W@l5PTByWjzHi887qM;LFRuLW&4Hf*lK-B-)U3uh0# z8xj`$Iwmq+QIEV}dy+`{AeD~aNg6*rQZ}1G9FBUj^(QJUZea^8REWb8o7Dp}E<760 zo40oOx4awQ+$c`-I+(8tWsQT)|=|ca-``Z)n13}&mg7(qjX=1CxVo?3?>$iAnbg7aJ5I>*uFHu2(!Dni9*h_vjmP?lQpqKl3PD&EpP6#k+)4|(0f!kC+^9iV=)<~q zLPJLyQ}OoLH0`K#MtF5wlPlm9VtUl_v`Wq2RhmQC>&R6aYZ3-TwSK2)&2q_M1G0rZ zMQ%16iRj5CaFj!3ldVZ}@^!pgJ;&(V0t+~b?H%{+caxzb-j^-S@7qaBy6Baem0Q2U zlAneRn4e`%wO_K_t3K-#2wZ)xOW3Ovi5O&61xp;Ax@>hdksHvU(1atd2bj|SBx{4l z8ua_8TtL=!iqoVyv~YK{0>WFo5w6TFjene40#r8a%DZxE&*zcG1}jKtv>5s-_HN57 z)=5ECqZa}x(Xt%5>bm@GisWlY_w+UBFsUM2fuG<$>3KKL+s33xGbK;ZiF z>o9C#)Iz=>_@L9?zMA*a_ww~4dg0m##~}FLPCx#>vwfU?G=2v9b@q<#UdTQBd7X8S zs(+kzg>~n+5uDw0c2(~L16$t;-`d||-xA*1yn4N+x(ByUPqtiaC%X5%kG=Q0pmLtW z@S^*653P&oU_Z_MBo1$Kn+aODp0=Nwx~FwbzHC0seJtV?u#*2<(eJK>6ZBzR*vdcr zvy{PbNZKM`BV7iB%#(4?pYHHNqjhn7E~h3f`326D9$g9YkIxi-e5}BpUGMp6m^Fb~ zsuSk+uJ{LDHpw&I90UyZXvc9z2odTplqJEj{Q}${&-ovfIjIJrtyt_r9Ji>~rl4>0 z@|(->4yG+#7Eb4>_DT})kb4~<+gyJqx{tFgmZw>1{WWLUlTe%5)Rv8M(U}44OcGng zYJ{tl?_xFEQJ|WSYms?f6{t9wO{P+GhM{hD=V^86FkgZ~hZH_6u;HIXpChf*)JEl( zI>tc|&%gTBOMTP_so6VHmRfmBPY5~Pp$4Yo+f!ec=XHv#NuGiHMq+tLw~B}(-({~} zwPnrU9|10VDrG32HWO*X@APBDRk$kv9EwMs5#Ur&;mNHz?WVuX#T#9u#sx;Z-V24SED{SHWJU%&OZrv zcrRD#F~i+~%;Fupw)&dEHzpt|kMfcW4fnKIN=DqE7L-Eu$?6g@PxRKkaMA7&fWs$J zG`DJDBv@zW*}G4xxQ8%<@4y*`Zu({>$mMU z<2R&tfBOV{Fx$k=aaRKEvft#aOomW144tgeEMm+k{TCG}MRo5$! zR@up5yKiqRbn9x>rPRNKp1f23N4LCVQX_xS1!*f+o!)oClaDrLLRg0RZzC- zFu`lK?f4(TD$;_bSHKT=cem)-AwXOkhUfs~^Ht;%?}z*RRmB_Ut*V({!3R{z)vK`N zrOD)L$lWOLHcB;nv};e9pqgNB_B2fj=fAvtC*FMt)hG+@Jw%8RQU!>!ukmdjq13Ru zhbtvR8Zg67Dj~NkwML97)qcf!W1(xx1st8RXfM&%u53{6;ht2O50O*IpV{P#nsju4 z(F~SWh*;H-0xa!@zhB3yrJm?DHmSnwgTH*&v`aZC&3xxCC6vg{?;L}Nc+$UA zSIw|F^>&KB@K2f()EfU9vnx+F$yXQ=o79&`z2-&rzhc7GfQAI=(w^E>Posz?TW|zQ zvRI0cU-XPCR)g`;{Q~YvvB;;wPP_==V4t12OO&wuI(sU{-f5yxbI5~4&@5Y_l0?L6 zN?j7~)&#GdL%-MnMawR4UZ4fntPbeVOubz+B~N-;Y%aS}L_hrYCEj+^t}y)hs9RuK zDxlu4t^!N7su9XwYzj$3Au5xn)-2g>&i_wPxIQCFpdV1ZvofL(fR!&_om8>G(}WT# zs%yh9*({{#N9m$is6k~+OBEdOslD0=OrmrzCCvvy>Ho@6`789$z5#gM=&uO)Xl&bg z#u&*?e%Ore;Q#E~%a~hj2g85mPBUo=_ku-ex;>1k(r#`O`%=V`;k?4mfgRRWiQ``B3w~k4&deNL2 zdsVLv($^ZT3)_xm$enM5yD|E1V`^Jl7=An^bE~3GiAu|5)s( zf_Vpbw`*2k@co-!GtsVTQu^dI#j3#Hpq{`onZ{9@L}kehs_t11MP$uT{(;|Ry4-a` zR~~qj1s(<}n>wYWFbvlu@^gjFqT0~4g*)7Y85Jr?rfk#_av#!LR#X1oRh51Sbh4VOGmvZt*Dp@N(g>yJ%^x? zVq@6#$Nf+;p>W^Y|7^~@1taBTGu48JAAn5S>mH$s(}ME1Y_|$P6o!)IYXu{VD2a~F zQ&W>L$Sqb^-NY1giriHglG)r2k(@L|=LS{16Cbje0igv&w{B=uvl(v{vcMZzk@2oj zlRwL;ChFv)5D?e}?#uRy*l3MfbRY@on$L=4672~IV7)E3()fQ=onv>UVY96}9ox2T zyVJ34b!^+VZM%~dn;qNcifub5?>>7U{DJl18DrI5Rddd(s?{WGTpAY(F!TS;^8En( zoW=R7Fwdr1U6QtxBZUz?`Kvd76`giNl>D%PY!ZF{*a%c(DwC@4{$+=Zft6<=k0OjV@Up`iYcfNP@>H0kQxy3VfU|4HtqVvY$K3BPIUSrwf8!zau?_SehFG0r( zNV1o@drkXihrrV-1rX1-Q(wUQBQbeLM0|K#;_$J|me{2-Z;+q4ki70XQs-#mSXH-T zKFuE8ZX!cpdIyiD0ZTWcdq6>Dr!Hmna1~^qTY1=0Nebw@Z{`u#?g}UapxDRIVEMwp zFqY_mI&Wn5>i^pNivbIMzyTd}`0Ir6L=jeXMXCWHR&#Q!z~v-5bE~X1{cF&c&IJ>r zUHupc8l_VG1J6BgiM4icVa(ICj)p0$(2~*!?m9jq3 zSl5t})s8c*sIx6dXNy8PF9e%@`Tp%fBUKwxElz46|AHwT&JWsskS@&piv?PC_TK?Q zPTX8W2f<4W8X&xz;MW_cTL!_Lu^bQpP#!c3nJfAA51Yg6$%qm7XfW^E0B!-e}_*N2Sj?aW1EbOhTLR%xJ~MfoL_}&5Qu1|YBhkx zHx6a~Kuoq#Amy*;z9_cc+gAQ^fApva2DdP%vbkhDs1ezX)3d7k$}3ToW=&XDm07=d z-@nt4r%*o=#1NpF;G|k##mx8Rq3(DeIxm_xvzdvlRFju4+Ev+A^+2LG6?=+j)_FKv zSXW3vV}a?;tW}&U7`@T>?Z7XU!_KcihZ+!f?{<^k$2DW|6Cw96_hBc?A7&q6A5JG_ z^U|Nf78CFax4b9RUzhivjYnTQJ{LawT|4|&2Xk?rl${SJnpg4aH>KZxni4%O#Xi{5_6k%7BI3fhdX zRec~t_~2SyT}XwPN5jFfse!&FdL9F6x~!GLjT!aU7Lx zCLo3Vj-?~C;e=rMYm@z3yG*OA?J=MEhoK%B41EdL{wgO9eG86@5e04(Ku9!XQHTai ze;#4>M^fEppA<|I@j6`52G!M4{F(SxS{$AODkp zFNdf~uQUcSxY<#5`axTKJq1TMyl1dc^I**qKGZD;R_c%phStDQcd`ePN3dLUa933; zs)?Y%NYrsw(xC%0AGnxA| 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 delta 19 acmZp0XmFS?k+m(@Bd&7e!g%?K3ETioV+U&h diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb index 2fcbf7530a8cdca920fa033fd01171dcf5bc8b70..b27d4eb0b26e645b65639abe6fd4031d1130e54e 100644 GIT binary patch delta 19 bcmZp0XmFS?k@eVo^*>b;1GP3DaF7Q8RnrKC delta 19 acmZp0XmFS?k+m(@Bd&5{pw`9%4)Op?LkD{R diff --git a/crates/meilitool/src/main.rs b/crates/meilitool/src/main.rs index 599bc3274..0d59333e3 100644 --- a/crates/meilitool/src/main.rs +++ b/crates/meilitool/src/main.rs @@ -303,7 +303,7 @@ fn export_a_dump( for result in index_mapping.iter(&rtxn)? { let (uid, uuid) = result?; let index_path = db_path.join("indexes").join(uuid.to_string()); - let index = Index::new(EnvOpenOptions::new(), &index_path).with_context(|| { + let index = Index::new(EnvOpenOptions::new(), &index_path, false).with_context(|| { format!("While trying to open the index at path {:?}", index_path.display()) })?; diff --git a/crates/meilitool/src/upgrade/v1_12.rs b/crates/meilitool/src/upgrade/v1_12.rs index 67a19c370..3ad171c31 100644 --- a/crates/meilitool/src/upgrade/v1_12.rs +++ b/crates/meilitool/src/upgrade/v1_12.rs @@ -173,10 +173,11 @@ fn rebuild_field_distribution(db_path: &Path) -> anyhow::Result<()> { println!("\t- Rebuilding field distribution"); - let index = meilisearch_types::milli::Index::new(EnvOpenOptions::new(), &index_path) - .with_context(|| { - format!("while opening index {uid} at '{}'", index_path.display()) - })?; + let index = + meilisearch_types::milli::Index::new(EnvOpenOptions::new(), &index_path, false) + .with_context(|| { + format!("while opening index {uid} at '{}'", index_path.display()) + })?; let mut index_txn = index.write_txn()?; diff --git a/crates/milli/src/index.rs b/crates/milli/src/index.rs index bda57b531..944fb6cd4 100644 --- a/crates/milli/src/index.rs +++ b/crates/milli/src/index.rs @@ -178,6 +178,7 @@ impl Index { path: P, created_at: time::OffsetDateTime, updated_at: time::OffsetDateTime, + creation: bool, ) -> Result { use db_name::*; @@ -253,7 +254,7 @@ impl Index { embedder_category_id, documents, }; - if this.get_version(&wtxn)?.is_none() { + if this.get_version(&wtxn)?.is_none() && creation { this.put_version( &mut wtxn, ( @@ -270,9 +271,13 @@ impl Index { Ok(this) } - pub fn new>(options: heed::EnvOpenOptions, path: P) -> Result { + pub fn new>( + options: heed::EnvOpenOptions, + path: P, + creation: bool, + ) -> Result { let now = time::OffsetDateTime::now_utc(); - Self::new_with_creation_dates(options, path, now, now) + Self::new_with_creation_dates(options, path, now, now, creation) } fn set_creation_dates( @@ -1802,7 +1807,7 @@ pub(crate) mod tests { let mut options = EnvOpenOptions::new(); options.map_size(size); let _tempdir = TempDir::new_in(".").unwrap(); - let inner = Index::new(options, _tempdir.path()).unwrap(); + let inner = Index::new(options, _tempdir.path(), true).unwrap(); let indexer_config = IndexerConfig::default(); let index_documents_config = IndexDocumentsConfig::default(); Self { inner, indexer_config, index_documents_config, _tempdir } diff --git a/crates/milli/src/search/new/tests/integration.rs b/crates/milli/src/search/new/tests/integration.rs index fc15b5f12..99d5dc033 100644 --- a/crates/milli/src/search/new/tests/integration.rs +++ b/crates/milli/src/search/new/tests/integration.rs @@ -17,7 +17,7 @@ pub fn setup_search_index_with_criteria(criteria: &[Criterion]) -> Index { let path = tempfile::tempdir().unwrap(); let mut options = EnvOpenOptions::new(); options.map_size(10 * 1024 * 1024); // 10 MB - let index = Index::new(options, &path).unwrap(); + let index = Index::new(options, &path, true).unwrap(); let mut wtxn = index.write_txn().unwrap(); let config = IndexerConfig::default(); diff --git a/crates/milli/tests/search/facet_distribution.rs b/crates/milli/tests/search/facet_distribution.rs index ced81409d..db9f86357 100644 --- a/crates/milli/tests/search/facet_distribution.rs +++ b/crates/milli/tests/search/facet_distribution.rs @@ -15,7 +15,7 @@ fn test_facet_distribution_with_no_facet_values() { let path = tempfile::tempdir().unwrap(); let mut options = EnvOpenOptions::new(); options.map_size(10 * 1024 * 1024); // 10 MB - let index = Index::new(options, &path).unwrap(); + let index = Index::new(options, &path, true).unwrap(); let mut wtxn = index.write_txn().unwrap(); let config = IndexerConfig::default(); diff --git a/crates/milli/tests/search/mod.rs b/crates/milli/tests/search/mod.rs index 30690969b..662715638 100644 --- a/crates/milli/tests/search/mod.rs +++ b/crates/milli/tests/search/mod.rs @@ -34,7 +34,7 @@ pub fn setup_search_index_with_criteria(criteria: &[Criterion]) -> Index { let path = tempfile::tempdir().unwrap(); let mut options = EnvOpenOptions::new(); options.map_size(10 * 1024 * 1024); // 10 MB - let index = Index::new(options, &path).unwrap(); + let index = Index::new(options, &path, true).unwrap(); let mut wtxn = index.write_txn().unwrap(); let config = IndexerConfig::default(); diff --git a/crates/milli/tests/search/query_criteria.rs b/crates/milli/tests/search/query_criteria.rs index 304059915..d47c9539d 100644 --- a/crates/milli/tests/search/query_criteria.rs +++ b/crates/milli/tests/search/query_criteria.rs @@ -264,7 +264,7 @@ fn criteria_ascdesc() { let path = tempfile::tempdir().unwrap(); let mut options = EnvOpenOptions::new(); options.map_size(12 * 1024 * 1024); // 10 MB - let index = Index::new(options, &path).unwrap(); + let index = Index::new(options, &path, true).unwrap(); let mut wtxn = index.write_txn().unwrap(); let config = IndexerConfig::default(); diff --git a/crates/milli/tests/search/typo_tolerance.rs b/crates/milli/tests/search/typo_tolerance.rs index d33d79e54..b640fa910 100644 --- a/crates/milli/tests/search/typo_tolerance.rs +++ b/crates/milli/tests/search/typo_tolerance.rs @@ -110,7 +110,7 @@ fn test_typo_disabled_on_word() { let tmp = tempdir().unwrap(); let mut options = EnvOpenOptions::new(); options.map_size(4096 * 100); - let index = Index::new(options, tmp.path()).unwrap(); + let index = Index::new(options, tmp.path(), true).unwrap(); let doc1: Object = from_value(json!({ "id": 1usize, "data": "zealand" })).unwrap(); let doc2: Object = from_value(json!({ "id": 2usize, "data": "zearand" })).unwrap(); From c1eba66443478d4f324f2c4e4f81ec818cc9803d Mon Sep 17 00:00:00 2001 From: Tamo Date: Thu, 23 Jan 2025 12:43:39 +0100 Subject: [PATCH 31/36] introduce a corruption in the v1.12 data.ms field distribution --- crates/meilisearch/db.snapshot | Bin 171860 -> 172073 bytes .../search_with_sort_and_filter.snap | 2 +- ...rEnqueuedAt_equal_2025-01-16T16:47:41.snap | 171 ++++++++++-------- ...rFinishedAt_equal_2025-01-16T16:47:41.snap | 171 ++++++++++-------- ...erStartedAt_equal_2025-01-16T16:47:41.snap | 171 ++++++++++-------- ...rEnqueuedAt_equal_2025-01-16T16:47:41.snap | 160 ++++++++-------- ...rFinishedAt_equal_2025-01-16T16:47:41.snap | 160 ++++++++-------- ...erStartedAt_equal_2025-01-16T16:47:41.snap | 160 ++++++++-------- ...ue_once_everything_has_been_processed.snap | 97 +++++++++- ...ue_once_everything_has_been_processed.snap | 85 ++++++++- .../upgrade/v1_12/v1_12_0.ms/auth/lock.mdb | Bin 8192 -> 8192 bytes .../data.mdb | Bin 155648 -> 163840 bytes .../lock.mdb | Bin 65664 -> 65664 bytes .../upgrade/v1_12/v1_12_0.ms/tasks/data.mdb | Bin 208896 -> 212992 bytes .../upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb | Bin 8192 -> 8192 bytes .../tests/upgrade/v1_12/v1_12_0.rs | 10 +- 16 files changed, 712 insertions(+), 475 deletions(-) diff --git a/crates/meilisearch/db.snapshot b/crates/meilisearch/db.snapshot index 3cec193fbd9f71e22a04894ed80ff341f84d83d6..8eb692ecd524b9b7d2d2f398bbbc9edd58844cb9 100644 GIT binary patch literal 172073 zcmZs?V{j!vyDgk#$J)`vb~53_wrxz3iEZ1-#Kw;8iEV3Q+qSJc@42VW{chc_e|1$q z)qna~y}H&~O%w?W_Fv=c`~$%sf5C$oUgPQh{w)MW7?vbL92SK|q?0HJj87aG+#{-g z9tr1Q(Pmn#r0~?zE-_0TBl65l2|{5Y8Avs0Z8Ab(m%z1W9o_C{?iv;w!{!;2<^^}(C$-h4%$2Z6a25h%}cCw_WM(E z^+!o{@cyzs_%YFIP|4YJ*0I?hN)2gKRf*QW(TPZW8nelQDp~I)m+bhb{!Xc zTZF!gntac*cI@fCesxRfcnxh?L+*Q>KEG^{_JuSq-}LMp#j{Uc%no{^Vgg05EN=yVaY8oe-9EAxNC6lY|O%4rTi;(7+#!S{?5OUk=1pyK8~4BFfcWOII1ICQ);v&l%^c7Fz?6y0`Pk0%I7eJ=e!$dXpx zY&^g^^7}B^|0;Tz{=Tx6x4b0^jQjt?pwG@-cU6k7YG)C<@|%*2$3^X`RU^`1d&K{X zGYXokzFneg%Cd2tI((X&emdJ*}=gLb{19r#}P_0bd~ z#dWzT5xz}tx0c-{hm_^=r(KVU(K`p;v$2uROJzJXm~YU!aLp`sN%OY&umICD(l}Pd z=i-!!vYC=0oSsByufvZfZKGma%ZP*3Q>5r^q?7}f6AtU24r+s)c|vowhlM`A)e1)A z(|`3y6#2i-#7}PC_g=0vs;ev;uP~O9ls>mKJgXYI?!|XL`|AER=+tcnLi2oja*jG- zC9i5{>-z%voYnu_C@(PdtdE_X;nr82v6hF`@3PcKR~yqE(-nKEol!q!I2UFkic&wqUfRDR}u$uwThm$GvM z3sgROc`73s|DY}`oIIL#x}N0{slUlg+(w91zVn>2Y>zT>;F(FkwRavK>rCZX5@3IG zxVb8xY_;tcbF_L_cBzV3ge&u|c2qHNrG@oel z9sSmkAh{Bx<`06Mz@LPe}nbCGsOVSUy4+IM?*SQIZeoJGj+CTNZUu0BZ^tXLQ=$x-4r^g z^(K-r+sZ5PQ?_{n-wKIgu@TU=827_sBPp~#n(xA+o5aK_T28Kex#Mb=Jb0{Uv*m-%AXVJPF*b6iPa}AKjpev^cCbL z6q>jDKf${>R&e7I(M+o0zU(F%Un@t|&9om)eI6SGD1Tjv@R%MTuO}UK5O(lvC3e09 zFuvX0kNP6eQps6OHopo_7~L+uY)7`|a+j8@{g$%$o46sr^)=1gBcd;eTC~7dP@({`g%WGVCl~6U4HILNX0uA3G3th_u)?_>b@51 zizlB}wx!>|@xEiDyN|A|jH|fRkeeIeh+aEXWip>NL{`A)ODm?Q1M;?p*Cbwhts5D! zq=$=$imH+7j0D>o_aN?4ltX`##5WfmaL7^&37Z~~VO1O5a!d&|7g=WAVdtXNYM)%{ z#MxyQfemaphT`^(V%~+*2N=hSEto%uSLau*&?=Px)ZD!*vniC3YMJh2WDUr7X^Z!W zX>r6cLYDJHP1MjD(yAM1K5RFI&CRUzi0UvdS0~&{0zWZM%s;UGfjcwS&+ZOB{k3#G zUwXrK%?3?vPGq+!*;`MC&>J6Fs4sjhm6u_ERyjS3>`L%7`n}`8OP0lFk|us+6*7BZ z>0-W7pF&5Hrq_VM8QqQBleVnEB!#I7X%OVEog1g_5cDGwQHJe&?~P^lfLL1+y6@E{ z`(x^IdDe7vwB3*K5KiRE4~Pt|wcOYI?0K4-Co^a4a~mC;JXnIzi_K*sQU|A2RJxPFRs882ly zS(9OO*(>9a=tN4WQ}hMj*6&5rv1oc0-|A-K?vf?+8+#L@g!Pk0PnmcV^tfqP36}+S zFt}md(7e%%kAL@WC-K!KDFJjJ2N>^p?1)BxTiaiO>2yfZc^4Td(f21B;t~81FlQ>O zK&6CM|3h&QbTDUb_RKiTD*>-qNjc6gk~-8JrV@SV(Hp6y%;C2-_B9(3q#Q_BFsxikQ**o%)L<-Wusu!th#w-6cK;a0x zaFRKhH*}9oUT_fgPLyS_l}eH#8}?P#)z}jFkKPiA{RtbOLk3Fmg>N%Q^v{Mv^Xc)~ zl2BZYnU&uc4GXAlC^}X~x0H3Ay{jN1`-+T?=P`MMs|IECHKKJcf+D-{ac$xgw{P zYOOfi12@#@T1#kqJ!USeeYhZ+&Rj})kSXYD*^l48*p zRKye4TsRP^Of0UTUl8Tq3>G>c)CR5}FgDB$YY!3))^PS4v=nU{c*s2)3K5N|ng&v7$H= zd14F;G(=;lu&hw?u+A70olJR=!1Y;9v^^;dr$J<9wk?=+W-vw-*L$%ZK)$+pn#kS8 z!^tfV2aB6>WrEM%E__0_8H`5p*dC*_+g%92se!`M2EZnyb<*Jh7I^4GLi)IO!;Khd zR*5%1(C@G#w4gBCy+dQb!WttF?f(iQp!bY}qgp2nX(veIqkYnoGmSx~?gu95#%9nd zS(}A5NZvjSBI$K(S;EtoWQO;Q8=ke;h3+D+qrD*3)&JEX(_@w=F-J2($Y=JC4+5fV zPM6Dw?!^@jJMUg&H-V? z^fksmVzSf_z)pI?I_@AAEos)vI)uOAteeaPDrYfmjVOYB%_&mjhd6tQd=LPNfsoWo zlV~hOZ8V5f))V`!voX7;0KDfTS9j1Kwi4^vPl-R@Mzbgsf7Uv9K}#dH!{k0vD;j<~ z#1~%%GJ9pX<*o@qUOD^AHc}peL&p{*Jy^EYhR8E=P$4p7I}{BB!%vkWlFp}Y?9mWy zFb1gqFcfgJ1*xj)|fm)(lf)Dj$g?$FRYXhjL~RB<)db z(&V%yU0r>nmv=@Oa4zS7hoyPLSb#x+ERvK>gA85DQ^m~d%1!wew=B*q#jF?(w_LG` zk7jiVvT9EcUF$XtMC)-t(k*W#(nRA(g;Z4ia11WH&PhU@g95R`8cs^tCosg8mk?8} z-0J(a4go@@jWx&z%t$!Gn~#n+C{WZ@1R24`HofCOMcDd zj6sbzfa1+=3I)pstF*VA`=MP5j_`8cn|~2%aTZ$v#}q%P)^LX5qcb<`B9E>p7*+4A zqNF5e$79rFQ;|-xF!|i0yw8pqjN;9{!C{3)CPa-sHA82XEWK?pwV5 zH*5F!YoR8VhJrn+ptVRuQDeIze7ub)rDuuVw3}G^|a~$b4**+WOAQqLi_4X>v`@&%u}k#&`qE@J&FlL9PfMOF?~f<_~xWk5OT= zL___*Hgkt+a>Xpgn(2n6rIrx9PP!ApKJG{1QL>ROazggn@O@|L-^F?!fMl-!ciic4~y^&hT#w>NnGLlvUl6rvk?N$ko`a}NTCxhQ8!PtF!yCNN)dg`U{T4S? z6N`R!3&mZMIO8Mc8<*Tj4)1N1VhVH@gH#cvIL`n&N?P=x`4>`lF+; zgyvgEDtG0<4^0P}L~DiSTQJN0bdgv5x@pnC7RBAo}iR zAQP0FtiQ%49Ua9+<8;tfcTpJ*iM*Rfv@3Nd`U}S`-R?}d(>Vy(3SZYR@!W_0?6ck$ zmZT3MfU3EYwl0Sqe4W;k0a0&A@^?>y=A!snt`%!Q!ZwGbx=t>z7FCrhK{uYwQQ}iF9qZ>Em&*EZtL8%0Xw@v}2M`O1p}B zJFqJkZ!h-gKc|Gi?OMk(`w{I+z26mx)rU1YB%!&q9X&EF+#D zSOqvkL}B5od{RRVC57#ou(zP>;V64V;xml`NMD0_v5gcUBgJxk!)dhLZFw+a#R}4- zk%1yx!XRZ1N8u5kQ;_BNa#VLr%M{br*Kj&`H!;@o(0cPBU1MD{*+zL=ToL)_`5{U{ z4QF|ASjuEZyaKflO6>Sq!BmFQ-l^a}U|FH} z;Xlj)RjkgZC5$ZG>_isCubDPn+rOWf4MR|g;)$`O&A~}$6@HY^zC_6P=s5WrL3lQC z=j%%+nFTB_MzpUnxXvl7?OP)G=zQzYvT>1J!cQGYFKt5(9<fTeV$f}`lDt^!I=s!c+<=5k=&tS2)qbb3GO743sH8rFYad~^ z#*8Dc8r$79C77!VlID~iEH$${k77A7&jscEr*RLPT+};0)>F5q=KjiKZb89J$LF%L zV-)q*yF6$%$Y5?dJp{tg(-0D8k_;3Tekgo+^Z;hCASlP{zlGZ~l4S}N`JyoiBmR2O z5ydw5T6zlNjYz`_3`%`C!8rd+kPbw(O}Sw1mVjlPNxyim5tQ^{X4iS}*~dVxk0Go($l=AWERbstzeu5<>5Q>=APS{wfLvq_;>_h zswmL1{cKDq+xI}aUMCX~xS&iAmiw&R$dH@&qtKF2+m!!!5bus53@qPQrPO<*=NhmT z&QB*n7TqF;d-Fr4y#BCJq#APa9-Ztph#mXBu13I4KD>3^K(Z#?A=EQuTN*q(Xh|?0 z-Z)zb-)Ct*@B%D-ryC*oUX|ZFnC~ZJS7`~=mU546HDf48%wmIr{Q|Nau925(#%8&~ ztOag)cPhEvNW8`AhTcxw1<_Y^ZrB3jEzr`kG#@~b%3VWr7rHYhOsZ$s5iYTK%Xc@< zGuSDk5N{i*s8bW*u6plVbx4NDx)^F$b6`icA%d)2@9ePkSe-7S8dSV?qs^dWc>j|G z86r0lGqvdjl+Tz{>)?=kyzXZg)Qb;GrO?_hlxSz0minAcO$Zy+Z_`80;%tB;d`P2( z+JiIGwt77Q(M*C(@_Fzu2e#ZPL=d6phAV=NOZr*v>yh1T^jS!*0=_b(3yO_IWOGi) zjz6bFK)A3|;|(@>K$wPMPoVW(NdXjGJ*I0bFOq{#CQ z8#~i>N%(kGK_fBi01$@i#(b}<>nThOI+wdbVWn0Kc3Bwq3HKt%;m2lmZ7vR?$<0i) zr$#di0aj`8vK-TgJfqme^w>~?gv)SnHP%9C83Y@Ed)i9w@&e!q)#5=g9nmBpNOp^C z*S%y3u6_#n{mZWm+F=$^%``yv8)R>yzyM1~VjLE8uxL3v01&qSE#GlHZY?Kv-EtQ# zPAZdc!(ky@N)WsA4=u7LM@5Lz^aOR4!Sr=pj_CZZYLbrOkmTH=JcG2>5u3%q5ac-E z7>LQ;gT7^zwwU zBkJ4GGelv~bMl2Gzz<{2l6MeCWaK6twkia?ST1|uEH*1cdVzmg8Z{Oh0t&VeC7>x!Z0|lZOaou4jw8bQ z02Dub(?7>`?(=)%i14T(-aXR$p>tTBuGqskfe^S%Q(}Ln_tE7b9Y2hBlnkEXPglH| zt%tDshs?zcI$`1Yeqt7VSP*XgwbL!(+)L-Kx-s}(K#a>-F5>e_?=n6(hrw3HeiM)w zR)+f`cJtM$s4VpLWl5>BqGf$l9{%O0oN%j9ieg#g;nrYOC7it(aRqAgRF1z6%+6n3 zMtuE!>FZ(GMP-{>f$KGrMY+kTG)vadonC6i7{iVzk=%TF=k-bKn6U-9{)^~kxZ;CP z|8*^r!8#)3eJ_Ez6bTr^+kLI=q<_&YjS#Iz#Cy0u7~7l zIi{|o&Q*1q8T;kbqd9stp4$k3iiWt=*o3^1aZ)`KO}RNDD?3Nj(XE{}t#QxJ9Paw= zdH$=t28-392Z=#>_x@&*ytOvzMX87|zb%r|LsPdWA^)Wv-9x(@I9^uD2bp$GdyE8Y zO-zFaJxcv}kS9+42FW6FO%|%l%BYJ1&V?Fg$c&{R)Ht+mQN`VbB_j}ZTWB?Uq#9CN z3YJhV%1SBrzVTpKRmx9v``4;S(~*ZHG&`M>E4V<}qEHQ90M{kEFsbdcWrdTIhW?pw zENe8x8r}589a(wY1SSKO-MlWZ^$DRQHreu`V;16q1Otw$C_#OR(q>6O_NgS30XMqz#b$`kIZN4qb)|LB1Ck z>69;(fqg_G^=48yHvfH%`IBugpeq0-_V{b6GKzXhOF$cWU0s-^!2a*`i_m)di5JF< zh*>*zCvc;e5|S<1uVWm`7$?4H(qecuGgZ&}JL&9dV-jW@L3qDz)S$3z(H=J*ocgeo zf+gw`OON{RsigcMO4;U_DI)s?(ZM3ij9f`gFGDjhO27wk-})S?lZ#TK#mXee0j7@9;M#>@s8UTv6Vc^#>|rl z)X72sp41m-wpE^yq#yC=<)GjzQ#8>;>l_>bhofDhXpH5O{XmF^nv1!Jhyk z74r|Q1>l`Ik>N=kX_5BvJW-_Fz-5HA=!`BMd~G4EOgwHuover()*Q5}$UH=@>r#G< zdvRb|fc1EfHt_gPWYJU@pzMd$rim#9(4H{ogciVsn$yKq@+{o7tFz z(HeFK-tKLQs8jP(Id;w%mY_JYsK;O*mWb(+TQBc@(!(3DQOB)QdvN;zRJtK(NOotT zNK$h9h?BbT0a>JR=n;%`{af(<0vk@`@JZHaX1pe5nBYU1O(lKr@!uD}BvOvqTBI?Q zZoxzeR2JM?Bu}HQU^e#y@xzE59xG$r0N}!E%xT3^Jv1zJ%OYFTp~lHX5e0` zjf(uLa=kMsBFJ(Gh~7=A6J^+-m=vC;{Xk&saL6w#haEE#tji&Df>Mnkj1L0sv(sp~ z4;*5NTeiwxeRjgt{dg~@`$e?GQZB(OeH3REqZ^1&ial^VCzi?)^`%FqCJTgF z9&_n_#v(ioI%OON`J+WUC4zuBnRLkPE)Gef@WioV#es+(8(PWyNnwvLYDU_p4q;`xX(rb;YGLxnphm?2d1*znH$zf5Z zaNJz%n?&ORiRJfewCFx${XcZ1TMtR^YV1*K&>-hPPxG@4atq>W0Je62eO#;uRct75 zglUDMHb#_AjA13jvSQ!utiKw5Cqxhqs9Keu&Is}!4OQS@4U<| z%^{^=b7SkBmP>?#FHDAVeZBEFW})n&ENih3CTuV+=7py*hX=xnsPwVod!JKM>8p_9 z%@47+QOkjqP!~Brx?@5$xgVRp5;Bn42uLc9au1t*=kAhF$Q4E~_d6!2rM`#^+!gQy zJ05DWfJIe01OY51p;$BwKUMmftkueG^tjuFKY)rbN=LVh|631=W@RB;%2ykedySfSAB7aV3!b{Gr;6;C@Kov znX!n{Mqip^kz};1uBjA1?B2!sl%D$NEei zrQl+T7)(S9G=I`trm~yaiWR&)V_DL8@ys+_j;oBpMSCNZM0*4l>a1eUMoUcau)oxGtmTL zcD?Z_J9YK&H2zeqwH>x~HX@{c{{3|vr&n~S@jgeB+!_0ziyF!)N18*mkD$Pp(`HUxVx_~k(k^e;a2qEXa~=1aop6FFBaYmZE@aD~Rv#y|Wl zONH*b>|c-}?EFqgzTe*N3WfJ(DqQnl`G8NwpyQH5s!2$j4!x6k4kYv`A~g~(GWXgc~z z(B2QG1T?F5*DcndKBR^od+CgCBg-MrjzO!*o;)=95(C_|D!G^#bdllcucU0PPrAfO zMWmE+cA?!m%k9{hyXO$8Ai-_+p+GM`DcV~l$nPybO{94l*)t{bpGE7AE(I12V4x^D`2(y{-qhCB9?ZsRT z?UGx|;W>>bx*Wt{A6#7fZ}kQZ!rZ8o7mrrrIGUBwMR9YtYZs&k7>tWGg3nU?we&S} zv}-x}bwDp0U?>1P3Y3*D7M`U2+Q{23q}`lE7X#JrHFHh1#-WF;p9VYOmx+^&U)C?| z0fkE}p2S#)A1<-&|GsKM^YZ(=zSGrH58kDUrMcy=pG|D%Rt)ZHXs&$AqRvpunW9Ej zaKZN+NBfXPfjRLKDg}hQhTS&Jh(H=0AxQj&{!Md|D*3RNzg7{xQsn`(aT{M?MK^x4 z+=S8tcjx$c?tS$`+d1PN(4fMsxPk~e&D42>{VXh}XEEQk1~2iWCpCR9EFax=CAwm8 zF$KG!5+>4!dV*d-j?TU6zh1eNWyH9od3&5tUdJ`u41altkT< zkOX%djpBk>lt913Ip}{ZtQlJ6Gr0-vT0p$VZG-uAB$gU3OUChR8)+#raOr!E))()R zv<*jV=2ab#519!Pz?9;>+)RD!w*di7)E(5u)*<*mcX}@zzEIdWleLR(0P$@y0EA9c zfWse5YcE-5wz#dAphX4muE9K5vni3x=%Y5aKZ*A~PJ`sospJvms3;c3EIWT=iwi#-aj+Z<9O9 z%L2_}vKq&WP=1S<|==E-1)?TfXAuY?Jh$6W9P@+h)Vqgh7K8X1n5 zmf+_5GYm)Hg_aF>R%AkQp|~&A@19GruY=}dW55o9tx<~|rSU~vkl(y?<{(Q>d5e1$ zo$>C>G*3Y$+R&QlmP=W|S`P#{b-gBHx{=HHv45Nq_x4q-*kdP349yR+vwtgr`5tX| zY(4H;C_Tl&Jcc}_&SL4WVyNLQ&>^}|$FR{YAbb2)WJXvGB6I+>l(TWor9V!S^r$Hs zT$kv0N1+TzbP%O+_eAEO^iNlWok9_kF%RO7J@r4sro@LcWQ>e-tBte`dl83Z4ny_| z&uj~-V`w3t^I|dJM*%MjWkcG}s7dekXj z>Y_dpU~|!$*7UIx5aBU(O?tt@0!W@KG9^sJN$uW^V80#J&< zDFS}C6K*34<`RkXGxlOIZ%h>hfb;B+`pJ2SJrw3EsLxfF-~egx$%1(#&5yxU&nj1| z|9Xs0No|}z+9jBVg1h-GG259}j{v=h+xgB6lKlwGN6kE6wI6qmZ9~bwWAi?yuDrvD zUGP;gI2?x+LMn6eG9BpoZZa%}4z+HG#)>LjD&wYQ9(D4XTsIC}bY6a7Ln?D0a z#x|(|jI|6)$oH~IZwH=Nb}kk!#aBO=wv!8|7?Zz#u$rDmtOSf0haOQwVxzW^!JI%o zvp{l5oppNmIkRsWrVv@48Oly*O1Ud4{*+|ER|k@owW>=23dJZW;-8IjY+P={aBQP*Xm$0~!#L)|P;~J%2K%;1 z_GppsgT(^9HZ=M&DJpyXBR6c*7{Oh}3w5u*kX@iZq zZp8XHMOtjN>9p8#dGk|$}q=q@f^90B|66WDF;GMb`%q00w zPnvLFgy0_(Ek)GlwU)&vNl-P-+#}=WkK92)gu9C!>ENHcjq-E?95VUw~opGfLzjs?$4Vx za8#e@c;`I3i4i*K{-o2w(Tawi-c!%2<_3MZI)Bz)NJd7r1mr>{c>7%oS5&q&;43G? zDqwbuQi+1G829I{hf)lY5x(codg?YsmhYy>`=sedfL}2AYc{`O7GWg_`?e@zn^E`p z-^F0eW={>fOe631^5sYIIjl(zVXgCtYunoj5}uiv!nMn*a*aNdsdj`PBC`syR7Md{ zoOY=UwW&^^3(E2%cX~4VRKMM-FAKiq`}!e4C&jn(cX~iDZ!j?%2NO?80+K92&dtA1 z{)q#Hwr1Th7&o5X90t=lO7M^Vz6mR@2r5<+`&T3bRKA2A2o{bFIhZIs5NzG z!X-bPUznk12a3wVZ(mO=613G=2k%elUtj-m0>8}vip85%1bTUnL%czTTcNyV)@37wcAw0t%lOwr!MrHYs`2{{w!W!OE-!YE)1?tC{B7+JihN z_V|?)=@&0MVe);iS&(!y80I^qDanqtGv%`|?H z%(KRB3?~t+fT�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

i@71&WA_8X14QW(~qV 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

GZIeX`9A-;@{dHBS<2fM%U5?=@Le-OCWyU)Fm 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�kgM_`I+DazHbNx_-ZdP} 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 u-|lM}O0gX7t;kFr~5ySIc#|V literal 171860 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

?<4Ol8--MEBfu# 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

oSdUMpp4jJ1)QE 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 diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/search_with_sort_and_filter.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/search_with_sort_and_filter.snap index 8afff3e0c..11ebae310 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/search_with_sort_and_filter.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_features/search_with_sort_and_filter.snap @@ -13,7 +13,7 @@ snapshot_kind: text "kefirounet", "boubou" ], - "age": 1.3, + "age": 1.4, "description": "kefir est un petit chien blanc très mignon" } ], diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap index 397be0317..ef12003c3 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap @@ -5,7 +5,7 @@ snapshot_kind: text { "results": [ { - "uid": 20, + "uid": 24, "progress": null, "details": { "upgradeFrom": "v1.12.0", @@ -25,6 +25,97 @@ snapshot_kind: text "startedAt": "[date]", "finishedAt": "[date]" }, + { + "uid": 23, + "progress": null, + "details": { + "deletedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "indexDeletion": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.004146631S", + "startedAt": "2025-01-23T11:38:57.012591321Z", + "finishedAt": "2025-01-23T11:38:57.016737952Z" + }, + { + "uid": 22, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.102738497S", + "startedAt": "2025-01-23T11:36:22.551906856Z", + "finishedAt": "2025-01-23T11:36:22.654645353Z" + }, + { + "uid": 21, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "failed": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.005108474S", + "startedAt": "2025-01-23T11:36:04.132670526Z", + "finishedAt": "2025-01-23T11:36:04.137779Z" + }, + { + "uid": 20, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "failed": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.027954894S", + "startedAt": "2025-01-23T11:35:53.631082795Z", + "finishedAt": "2025-01-23T11:35:53.659037689Z" + }, { "uid": 19, "progress": null, @@ -406,82 +497,10 @@ snapshot_kind: text "duration": "PT0.016307263S", "startedAt": "2025-01-16T16:53:19.913351957Z", "finishedAt": "2025-01-16T16:53:19.92965922Z" - }, - { - "uid": 4, - "progress": null, - "details": { - "receivedDocuments": 1, - "indexedDocuments": 1 - }, - "stats": { - "totalNbTasks": 1, - "status": { - "succeeded": 1 - }, - "types": { - "documentAdditionOrUpdate": 1 - }, - "indexUids": { - "kefir": 1 - } - }, - "duration": "PT0.087655941S", - "startedAt": "2025-01-16T16:52:32.631145531Z", - "finishedAt": "2025-01-16T16:52:32.718801472Z" - }, - { - "uid": 3, - "progress": null, - "details": { - "sortableAttributes": [ - "age" - ] - }, - "stats": { - "totalNbTasks": 1, - "status": { - "succeeded": 1 - }, - "types": { - "settingsUpdate": 1 - }, - "indexUids": { - "kefir": 1 - } - }, - "duration": "PT0.007593573S", - "startedAt": "2025-01-16T16:47:53.677901409Z", - "finishedAt": "2025-01-16T16:47:53.685494982Z" - }, - { - "uid": 2, - "progress": null, - "details": { - "filterableAttributes": [ - "age", - "surname" - ] - }, - "stats": { - "totalNbTasks": 1, - "status": { - "succeeded": 1 - }, - "types": { - "settingsUpdate": 1 - }, - "indexUids": { - "kefir": 1 - } - }, - "duration": "PT0.017769760S", - "startedAt": "2025-01-16T16:47:41.211587682Z", - "finishedAt": "2025-01-16T16:47:41.229357442Z" } ], - "total": 19, + "total": 23, "limit": 20, - "from": 20, - "next": null + "from": 24, + "next": 4 } diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap index 397be0317..ef12003c3 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap @@ -5,7 +5,7 @@ snapshot_kind: text { "results": [ { - "uid": 20, + "uid": 24, "progress": null, "details": { "upgradeFrom": "v1.12.0", @@ -25,6 +25,97 @@ snapshot_kind: text "startedAt": "[date]", "finishedAt": "[date]" }, + { + "uid": 23, + "progress": null, + "details": { + "deletedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "indexDeletion": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.004146631S", + "startedAt": "2025-01-23T11:38:57.012591321Z", + "finishedAt": "2025-01-23T11:38:57.016737952Z" + }, + { + "uid": 22, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.102738497S", + "startedAt": "2025-01-23T11:36:22.551906856Z", + "finishedAt": "2025-01-23T11:36:22.654645353Z" + }, + { + "uid": 21, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "failed": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.005108474S", + "startedAt": "2025-01-23T11:36:04.132670526Z", + "finishedAt": "2025-01-23T11:36:04.137779Z" + }, + { + "uid": 20, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "failed": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.027954894S", + "startedAt": "2025-01-23T11:35:53.631082795Z", + "finishedAt": "2025-01-23T11:35:53.659037689Z" + }, { "uid": 19, "progress": null, @@ -406,82 +497,10 @@ snapshot_kind: text "duration": "PT0.016307263S", "startedAt": "2025-01-16T16:53:19.913351957Z", "finishedAt": "2025-01-16T16:53:19.92965922Z" - }, - { - "uid": 4, - "progress": null, - "details": { - "receivedDocuments": 1, - "indexedDocuments": 1 - }, - "stats": { - "totalNbTasks": 1, - "status": { - "succeeded": 1 - }, - "types": { - "documentAdditionOrUpdate": 1 - }, - "indexUids": { - "kefir": 1 - } - }, - "duration": "PT0.087655941S", - "startedAt": "2025-01-16T16:52:32.631145531Z", - "finishedAt": "2025-01-16T16:52:32.718801472Z" - }, - { - "uid": 3, - "progress": null, - "details": { - "sortableAttributes": [ - "age" - ] - }, - "stats": { - "totalNbTasks": 1, - "status": { - "succeeded": 1 - }, - "types": { - "settingsUpdate": 1 - }, - "indexUids": { - "kefir": 1 - } - }, - "duration": "PT0.007593573S", - "startedAt": "2025-01-16T16:47:53.677901409Z", - "finishedAt": "2025-01-16T16:47:53.685494982Z" - }, - { - "uid": 2, - "progress": null, - "details": { - "filterableAttributes": [ - "age", - "surname" - ] - }, - "stats": { - "totalNbTasks": 1, - "status": { - "succeeded": 1 - }, - "types": { - "settingsUpdate": 1 - }, - "indexUids": { - "kefir": 1 - } - }, - "duration": "PT0.017769760S", - "startedAt": "2025-01-16T16:47:41.211587682Z", - "finishedAt": "2025-01-16T16:47:41.229357442Z" } ], - "total": 19, + "total": 23, "limit": 20, - "from": 20, - "next": null + "from": 24, + "next": 4 } diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap index 397be0317..ef12003c3 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap @@ -5,7 +5,7 @@ snapshot_kind: text { "results": [ { - "uid": 20, + "uid": 24, "progress": null, "details": { "upgradeFrom": "v1.12.0", @@ -25,6 +25,97 @@ snapshot_kind: text "startedAt": "[date]", "finishedAt": "[date]" }, + { + "uid": 23, + "progress": null, + "details": { + "deletedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "indexDeletion": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.004146631S", + "startedAt": "2025-01-23T11:38:57.012591321Z", + "finishedAt": "2025-01-23T11:38:57.016737952Z" + }, + { + "uid": 22, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.102738497S", + "startedAt": "2025-01-23T11:36:22.551906856Z", + "finishedAt": "2025-01-23T11:36:22.654645353Z" + }, + { + "uid": 21, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "failed": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.005108474S", + "startedAt": "2025-01-23T11:36:04.132670526Z", + "finishedAt": "2025-01-23T11:36:04.137779Z" + }, + { + "uid": 20, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "failed": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.027954894S", + "startedAt": "2025-01-23T11:35:53.631082795Z", + "finishedAt": "2025-01-23T11:35:53.659037689Z" + }, { "uid": 19, "progress": null, @@ -406,82 +497,10 @@ snapshot_kind: text "duration": "PT0.016307263S", "startedAt": "2025-01-16T16:53:19.913351957Z", "finishedAt": "2025-01-16T16:53:19.92965922Z" - }, - { - "uid": 4, - "progress": null, - "details": { - "receivedDocuments": 1, - "indexedDocuments": 1 - }, - "stats": { - "totalNbTasks": 1, - "status": { - "succeeded": 1 - }, - "types": { - "documentAdditionOrUpdate": 1 - }, - "indexUids": { - "kefir": 1 - } - }, - "duration": "PT0.087655941S", - "startedAt": "2025-01-16T16:52:32.631145531Z", - "finishedAt": "2025-01-16T16:52:32.718801472Z" - }, - { - "uid": 3, - "progress": null, - "details": { - "sortableAttributes": [ - "age" - ] - }, - "stats": { - "totalNbTasks": 1, - "status": { - "succeeded": 1 - }, - "types": { - "settingsUpdate": 1 - }, - "indexUids": { - "kefir": 1 - } - }, - "duration": "PT0.007593573S", - "startedAt": "2025-01-16T16:47:53.677901409Z", - "finishedAt": "2025-01-16T16:47:53.685494982Z" - }, - { - "uid": 2, - "progress": null, - "details": { - "filterableAttributes": [ - "age", - "surname" - ] - }, - "stats": { - "totalNbTasks": 1, - "status": { - "succeeded": 1 - }, - "types": { - "settingsUpdate": 1 - }, - "indexUids": { - "kefir": 1 - } - }, - "duration": "PT0.017769760S", - "startedAt": "2025-01-16T16:47:41.211587682Z", - "finishedAt": "2025-01-16T16:47:41.229357442Z" } ], - "total": 19, + "total": 23, "limit": 20, - "from": 20, - "next": null + "from": 24, + "next": 4 } diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap index 9eaabc8d2..8744b569b 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap @@ -5,8 +5,8 @@ snapshot_kind: text { "results": [ { - "uid": 21, - "batchUid": 20, + "uid": 25, + "batchUid": 24, "indexUid": null, "status": "succeeded", "type": "upgradeDatabase", @@ -21,6 +21,83 @@ snapshot_kind: text "startedAt": "[date]", "finishedAt": "[date]" }, + { + "uid": 24, + "batchUid": 23, + "indexUid": "mieli", + "status": "succeeded", + "type": "indexDeletion", + "canceledBy": null, + "details": { + "deletedDocuments": 0 + }, + "error": null, + "duration": "PT0.004146631S", + "enqueuedAt": "2025-01-23T11:38:57.000009177Z", + "startedAt": "2025-01-23T11:38:57.012591321Z", + "finishedAt": "2025-01-23T11:38:57.016737952Z" + }, + { + "uid": 23, + "batchUid": 22, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.102738497S", + "enqueuedAt": "2025-01-23T11:36:22.53917994Z", + "startedAt": "2025-01-23T11:36:22.551906856Z", + "finishedAt": "2025-01-23T11:36:22.654645353Z" + }, + { + "uid": 22, + "batchUid": 21, + "indexUid": "kefir", + "status": "failed", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "error": { + "message": "Document doesn't have a `id` attribute: `{\"age\":1.4}`.", + "code": "missing_document_id", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#missing_document_id" + }, + "duration": "PT0.005108474S", + "enqueuedAt": "2025-01-23T11:36:04.115475071Z", + "startedAt": "2025-01-23T11:36:04.132670526Z", + "finishedAt": "2025-01-23T11:36:04.137779Z" + }, + { + "uid": 21, + "batchUid": 20, + "indexUid": "mieli", + "status": "failed", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "error": { + "message": "The primary key inference failed as the engine did not find any field ending with `id` in its name. Please specify the primary key manually using the `primaryKey` query parameter.", + "code": "index_primary_key_no_candidate_found", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#index_primary_key_no_candidate_found" + }, + "duration": "PT0.027954894S", + "enqueuedAt": "2025-01-23T11:35:53.625718309Z", + "startedAt": "2025-01-23T11:35:53.631082795Z", + "finishedAt": "2025-01-23T11:35:53.659037689Z" + }, { "uid": 20, "batchUid": 19, @@ -312,83 +389,10 @@ snapshot_kind: text "enqueuedAt": "2025-01-16T16:54:51.927866243Z", "startedAt": "2025-01-16T16:54:51.940332781Z", "finishedAt": "2025-01-16T16:54:51.947897942Z" - }, - { - "uid": 5, - "batchUid": 5, - "indexUid": "kefir", - "status": "succeeded", - "type": "settingsUpdate", - "canceledBy": null, - "details": { - "stopWords": [ - "le", - "un" - ] - }, - "error": null, - "duration": "PT0.016307263S", - "enqueuedAt": "2025-01-16T16:53:19.900781991Z", - "startedAt": "2025-01-16T16:53:19.913351957Z", - "finishedAt": "2025-01-16T16:53:19.92965922Z" - }, - { - "uid": 4, - "batchUid": 4, - "indexUid": "kefir", - "status": "succeeded", - "type": "documentAdditionOrUpdate", - "canceledBy": null, - "details": { - "receivedDocuments": 1, - "indexedDocuments": 1 - }, - "error": null, - "duration": "PT0.087655941S", - "enqueuedAt": "2025-01-16T16:52:32.618659861Z", - "startedAt": "2025-01-16T16:52:32.631145531Z", - "finishedAt": "2025-01-16T16:52:32.718801472Z" - }, - { - "uid": 3, - "batchUid": 3, - "indexUid": "kefir", - "status": "succeeded", - "type": "settingsUpdate", - "canceledBy": null, - "details": { - "sortableAttributes": [ - "age" - ] - }, - "error": null, - "duration": "PT0.007593573S", - "enqueuedAt": "2025-01-16T16:47:53.665616298Z", - "startedAt": "2025-01-16T16:47:53.677901409Z", - "finishedAt": "2025-01-16T16:47:53.685494982Z" - }, - { - "uid": 2, - "batchUid": 2, - "indexUid": "kefir", - "status": "succeeded", - "type": "settingsUpdate", - "canceledBy": null, - "details": { - "filterableAttributes": [ - "age", - "surname" - ] - }, - "error": null, - "duration": "PT0.017769760S", - "enqueuedAt": "2025-01-16T16:47:41.194872913Z", - "startedAt": "2025-01-16T16:47:41.211587682Z", - "finishedAt": "2025-01-16T16:47:41.229357442Z" } ], - "total": 20, + "total": 24, "limit": 20, - "from": 21, - "next": null + "from": 25, + "next": 5 } diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap index 9eaabc8d2..8744b569b 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap @@ -5,8 +5,8 @@ snapshot_kind: text { "results": [ { - "uid": 21, - "batchUid": 20, + "uid": 25, + "batchUid": 24, "indexUid": null, "status": "succeeded", "type": "upgradeDatabase", @@ -21,6 +21,83 @@ snapshot_kind: text "startedAt": "[date]", "finishedAt": "[date]" }, + { + "uid": 24, + "batchUid": 23, + "indexUid": "mieli", + "status": "succeeded", + "type": "indexDeletion", + "canceledBy": null, + "details": { + "deletedDocuments": 0 + }, + "error": null, + "duration": "PT0.004146631S", + "enqueuedAt": "2025-01-23T11:38:57.000009177Z", + "startedAt": "2025-01-23T11:38:57.012591321Z", + "finishedAt": "2025-01-23T11:38:57.016737952Z" + }, + { + "uid": 23, + "batchUid": 22, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.102738497S", + "enqueuedAt": "2025-01-23T11:36:22.53917994Z", + "startedAt": "2025-01-23T11:36:22.551906856Z", + "finishedAt": "2025-01-23T11:36:22.654645353Z" + }, + { + "uid": 22, + "batchUid": 21, + "indexUid": "kefir", + "status": "failed", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "error": { + "message": "Document doesn't have a `id` attribute: `{\"age\":1.4}`.", + "code": "missing_document_id", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#missing_document_id" + }, + "duration": "PT0.005108474S", + "enqueuedAt": "2025-01-23T11:36:04.115475071Z", + "startedAt": "2025-01-23T11:36:04.132670526Z", + "finishedAt": "2025-01-23T11:36:04.137779Z" + }, + { + "uid": 21, + "batchUid": 20, + "indexUid": "mieli", + "status": "failed", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "error": { + "message": "The primary key inference failed as the engine did not find any field ending with `id` in its name. Please specify the primary key manually using the `primaryKey` query parameter.", + "code": "index_primary_key_no_candidate_found", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#index_primary_key_no_candidate_found" + }, + "duration": "PT0.027954894S", + "enqueuedAt": "2025-01-23T11:35:53.625718309Z", + "startedAt": "2025-01-23T11:35:53.631082795Z", + "finishedAt": "2025-01-23T11:35:53.659037689Z" + }, { "uid": 20, "batchUid": 19, @@ -312,83 +389,10 @@ snapshot_kind: text "enqueuedAt": "2025-01-16T16:54:51.927866243Z", "startedAt": "2025-01-16T16:54:51.940332781Z", "finishedAt": "2025-01-16T16:54:51.947897942Z" - }, - { - "uid": 5, - "batchUid": 5, - "indexUid": "kefir", - "status": "succeeded", - "type": "settingsUpdate", - "canceledBy": null, - "details": { - "stopWords": [ - "le", - "un" - ] - }, - "error": null, - "duration": "PT0.016307263S", - "enqueuedAt": "2025-01-16T16:53:19.900781991Z", - "startedAt": "2025-01-16T16:53:19.913351957Z", - "finishedAt": "2025-01-16T16:53:19.92965922Z" - }, - { - "uid": 4, - "batchUid": 4, - "indexUid": "kefir", - "status": "succeeded", - "type": "documentAdditionOrUpdate", - "canceledBy": null, - "details": { - "receivedDocuments": 1, - "indexedDocuments": 1 - }, - "error": null, - "duration": "PT0.087655941S", - "enqueuedAt": "2025-01-16T16:52:32.618659861Z", - "startedAt": "2025-01-16T16:52:32.631145531Z", - "finishedAt": "2025-01-16T16:52:32.718801472Z" - }, - { - "uid": 3, - "batchUid": 3, - "indexUid": "kefir", - "status": "succeeded", - "type": "settingsUpdate", - "canceledBy": null, - "details": { - "sortableAttributes": [ - "age" - ] - }, - "error": null, - "duration": "PT0.007593573S", - "enqueuedAt": "2025-01-16T16:47:53.665616298Z", - "startedAt": "2025-01-16T16:47:53.677901409Z", - "finishedAt": "2025-01-16T16:47:53.685494982Z" - }, - { - "uid": 2, - "batchUid": 2, - "indexUid": "kefir", - "status": "succeeded", - "type": "settingsUpdate", - "canceledBy": null, - "details": { - "filterableAttributes": [ - "age", - "surname" - ] - }, - "error": null, - "duration": "PT0.017769760S", - "enqueuedAt": "2025-01-16T16:47:41.194872913Z", - "startedAt": "2025-01-16T16:47:41.211587682Z", - "finishedAt": "2025-01-16T16:47:41.229357442Z" } ], - "total": 20, + "total": 24, "limit": 20, - "from": 21, - "next": null + "from": 25, + "next": 5 } diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap index 9eaabc8d2..8744b569b 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap @@ -5,8 +5,8 @@ snapshot_kind: text { "results": [ { - "uid": 21, - "batchUid": 20, + "uid": 25, + "batchUid": 24, "indexUid": null, "status": "succeeded", "type": "upgradeDatabase", @@ -21,6 +21,83 @@ snapshot_kind: text "startedAt": "[date]", "finishedAt": "[date]" }, + { + "uid": 24, + "batchUid": 23, + "indexUid": "mieli", + "status": "succeeded", + "type": "indexDeletion", + "canceledBy": null, + "details": { + "deletedDocuments": 0 + }, + "error": null, + "duration": "PT0.004146631S", + "enqueuedAt": "2025-01-23T11:38:57.000009177Z", + "startedAt": "2025-01-23T11:38:57.012591321Z", + "finishedAt": "2025-01-23T11:38:57.016737952Z" + }, + { + "uid": 23, + "batchUid": 22, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.102738497S", + "enqueuedAt": "2025-01-23T11:36:22.53917994Z", + "startedAt": "2025-01-23T11:36:22.551906856Z", + "finishedAt": "2025-01-23T11:36:22.654645353Z" + }, + { + "uid": 22, + "batchUid": 21, + "indexUid": "kefir", + "status": "failed", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "error": { + "message": "Document doesn't have a `id` attribute: `{\"age\":1.4}`.", + "code": "missing_document_id", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#missing_document_id" + }, + "duration": "PT0.005108474S", + "enqueuedAt": "2025-01-23T11:36:04.115475071Z", + "startedAt": "2025-01-23T11:36:04.132670526Z", + "finishedAt": "2025-01-23T11:36:04.137779Z" + }, + { + "uid": 21, + "batchUid": 20, + "indexUid": "mieli", + "status": "failed", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "error": { + "message": "The primary key inference failed as the engine did not find any field ending with `id` in its name. Please specify the primary key manually using the `primaryKey` query parameter.", + "code": "index_primary_key_no_candidate_found", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#index_primary_key_no_candidate_found" + }, + "duration": "PT0.027954894S", + "enqueuedAt": "2025-01-23T11:35:53.625718309Z", + "startedAt": "2025-01-23T11:35:53.631082795Z", + "finishedAt": "2025-01-23T11:35:53.659037689Z" + }, { "uid": 20, "batchUid": 19, @@ -312,83 +389,10 @@ snapshot_kind: text "enqueuedAt": "2025-01-16T16:54:51.927866243Z", "startedAt": "2025-01-16T16:54:51.940332781Z", "finishedAt": "2025-01-16T16:54:51.947897942Z" - }, - { - "uid": 5, - "batchUid": 5, - "indexUid": "kefir", - "status": "succeeded", - "type": "settingsUpdate", - "canceledBy": null, - "details": { - "stopWords": [ - "le", - "un" - ] - }, - "error": null, - "duration": "PT0.016307263S", - "enqueuedAt": "2025-01-16T16:53:19.900781991Z", - "startedAt": "2025-01-16T16:53:19.913351957Z", - "finishedAt": "2025-01-16T16:53:19.92965922Z" - }, - { - "uid": 4, - "batchUid": 4, - "indexUid": "kefir", - "status": "succeeded", - "type": "documentAdditionOrUpdate", - "canceledBy": null, - "details": { - "receivedDocuments": 1, - "indexedDocuments": 1 - }, - "error": null, - "duration": "PT0.087655941S", - "enqueuedAt": "2025-01-16T16:52:32.618659861Z", - "startedAt": "2025-01-16T16:52:32.631145531Z", - "finishedAt": "2025-01-16T16:52:32.718801472Z" - }, - { - "uid": 3, - "batchUid": 3, - "indexUid": "kefir", - "status": "succeeded", - "type": "settingsUpdate", - "canceledBy": null, - "details": { - "sortableAttributes": [ - "age" - ] - }, - "error": null, - "duration": "PT0.007593573S", - "enqueuedAt": "2025-01-16T16:47:53.665616298Z", - "startedAt": "2025-01-16T16:47:53.677901409Z", - "finishedAt": "2025-01-16T16:47:53.685494982Z" - }, - { - "uid": 2, - "batchUid": 2, - "indexUid": "kefir", - "status": "succeeded", - "type": "settingsUpdate", - "canceledBy": null, - "details": { - "filterableAttributes": [ - "age", - "surname" - ] - }, - "error": null, - "duration": "PT0.017769760S", - "enqueuedAt": "2025-01-16T16:47:41.194872913Z", - "startedAt": "2025-01-16T16:47:41.211587682Z", - "finishedAt": "2025-01-16T16:47:41.229357442Z" } ], - "total": 20, + "total": 24, "limit": 20, - "from": 21, - "next": null + "from": 25, + "next": 5 } diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_batch_queue_once_everything_has_been_processed.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_batch_queue_once_everything_has_been_processed.snap index 9319a51cb..63308dc64 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_batch_queue_once_everything_has_been_processed.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_batch_queue_once_everything_has_been_processed.snap @@ -5,7 +5,7 @@ snapshot_kind: text { "results": [ { - "uid": 20, + "uid": 24, "progress": null, "details": { "upgradeFrom": "v1.12.0", @@ -25,6 +25,97 @@ snapshot_kind: text "startedAt": "[date]", "finishedAt": "[date]" }, + { + "uid": 23, + "progress": null, + "details": { + "deletedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "indexDeletion": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.004146631S", + "startedAt": "2025-01-23T11:38:57.012591321Z", + "finishedAt": "2025-01-23T11:38:57.016737952Z" + }, + { + "uid": 22, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "succeeded": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.102738497S", + "startedAt": "2025-01-23T11:36:22.551906856Z", + "finishedAt": "2025-01-23T11:36:22.654645353Z" + }, + { + "uid": 21, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "failed": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "kefir": 1 + } + }, + "duration": "PT0.005108474S", + "startedAt": "2025-01-23T11:36:04.132670526Z", + "finishedAt": "2025-01-23T11:36:04.137779Z" + }, + { + "uid": 20, + "progress": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "stats": { + "totalNbTasks": 1, + "status": { + "failed": 1 + }, + "types": { + "documentAdditionOrUpdate": 1 + }, + "indexUids": { + "mieli": 1 + } + }, + "duration": "PT0.027954894S", + "startedAt": "2025-01-23T11:35:53.631082795Z", + "finishedAt": "2025-01-23T11:35:53.659037689Z" + }, { "uid": 19, "progress": null, @@ -526,8 +617,8 @@ snapshot_kind: text "finishedAt": "2025-01-16T16:45:16.131303739Z" } ], - "total": 21, + "total": 25, "limit": 1000, - "from": 20, + "from": 24, "next": null } diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_task_queue_once_everything_has_been_processed.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_task_queue_once_everything_has_been_processed.snap index f681a1b62..d965b9b68 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_task_queue_once_everything_has_been_processed.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/the_whole_task_queue_once_everything_has_been_processed.snap @@ -5,8 +5,8 @@ snapshot_kind: text { "results": [ { - "uid": 21, - "batchUid": 20, + "uid": 25, + "batchUid": 24, "indexUid": null, "status": "succeeded", "type": "upgradeDatabase", @@ -21,6 +21,83 @@ snapshot_kind: text "startedAt": "[date]", "finishedAt": "[date]" }, + { + "uid": 24, + "batchUid": 23, + "indexUid": "mieli", + "status": "succeeded", + "type": "indexDeletion", + "canceledBy": null, + "details": { + "deletedDocuments": 0 + }, + "error": null, + "duration": "PT0.004146631S", + "enqueuedAt": "2025-01-23T11:38:57.000009177Z", + "startedAt": "2025-01-23T11:38:57.012591321Z", + "finishedAt": "2025-01-23T11:38:57.016737952Z" + }, + { + "uid": 23, + "batchUid": 22, + "indexUid": "kefir", + "status": "succeeded", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 1 + }, + "error": null, + "duration": "PT0.102738497S", + "enqueuedAt": "2025-01-23T11:36:22.53917994Z", + "startedAt": "2025-01-23T11:36:22.551906856Z", + "finishedAt": "2025-01-23T11:36:22.654645353Z" + }, + { + "uid": 22, + "batchUid": 21, + "indexUid": "kefir", + "status": "failed", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "error": { + "message": "Document doesn't have a `id` attribute: `{\"age\":1.4}`.", + "code": "missing_document_id", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#missing_document_id" + }, + "duration": "PT0.005108474S", + "enqueuedAt": "2025-01-23T11:36:04.115475071Z", + "startedAt": "2025-01-23T11:36:04.132670526Z", + "finishedAt": "2025-01-23T11:36:04.137779Z" + }, + { + "uid": 21, + "batchUid": 20, + "indexUid": "mieli", + "status": "failed", + "type": "documentAdditionOrUpdate", + "canceledBy": null, + "details": { + "receivedDocuments": 1, + "indexedDocuments": 0 + }, + "error": { + "message": "The primary key inference failed as the engine did not find any field ending with `id` in its name. Please specify the primary key manually using the `primaryKey` query parameter.", + "code": "index_primary_key_no_candidate_found", + "type": "invalid_request", + "link": "https://docs.meilisearch.com/errors#index_primary_key_no_candidate_found" + }, + "duration": "PT0.027954894S", + "enqueuedAt": "2025-01-23T11:35:53.625718309Z", + "startedAt": "2025-01-23T11:35:53.631082795Z", + "finishedAt": "2025-01-23T11:35:53.659037689Z" + }, { "uid": 20, "batchUid": 19, @@ -421,8 +498,8 @@ snapshot_kind: text "finishedAt": "2025-01-16T16:45:16.131303739Z" } ], - "total": 22, + "total": 26, "limit": 1000, - "from": 21, + "from": 25, "next": null } diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/lock.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/lock.mdb index 2f097330dec505fbf5ff76b357b37d5814d7ebdf..4c80ffe2c03fba62008aca5da473370d7b421a38 100644 GIT binary patch delta 19 bcmZp0XmFS?kyY%n!~N=w3*+S{CU64)Q0xcx delta 19 bcmZp0XmFS?k@eVo^*>b`7sks^OyC9pR`UpT diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/data.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/data.mdb index 598dc17a667ee4ad7a0e1f811649db69d3c5cced..c31db3415612b78106346996d5ff20d3fd293ae9 100644 GIT binary patch delta 943 zcmaKrUr19?9LLXZPFdU8`Q0sXa~W>ppOjKJ*Vxv?QDmVoCq#q~u7pf{kb;mEL@Ruf z3iD7GEX+WJp!~Cew}+uV^in~M5D_0td=QI>6(kvZ=-%zFgrMJj_;Kz%_w)UIf4_5L zOZ#Fm{p@LB)UJb?`<)G@{UjGPYBouZS-6Be=F`RPR46o)P27}BX?TJ>9QK|pA*4Xr zy13JujTSX))&B|6kb1Jp(s&hDnFrVKJZ9JsKF11N!iU&~+l)!&DR^s?c`3ehtf)jw z+$uFk$*slZkY-98?$8Xz!&E4*BN-W*VO=!U1eWiW$j~g4YW2r-HO( z5untx2MI*n4Z$s$34`&=G|cG)m8@y#lkLugz|G&!IKjwa)*_kHFs>N(^Yo%%VSCI8 zgb16mi4b%BX-nOxpyS&SYdlSZ2^##Q1De?JHUktS-2NjPuq1i{tpHm7thpVE_>bmJ zsFF@GaDps%t>ZX2#3VvMSFP&I2Z1&k%wz*Mqiuv?`!t5S-Yz6TBrkMDsqVS2w2725jZPuMZh+1*U-jV z4++T~NHQ0WU>Qzg5|?qAO|pCJGxlJVb+fOm4Yhb(0hTfaSfnN3ByOo~0Hz?Ax2l|% z09nz$!w~AJpRVZpjFq^IBw`ROtEU?8hyn^sg2#ie!4&t&WS5}an1%+ zAaKWYt>(r>DQ<&a4Lsr(rVsN6cXzFBr=ZV|t~cw2km3*De(~rFpVifL#_9AodHgO{ zy{F0TJ?e9MJY5wgv3(s5^5TzQ%JWx3DY2LY@g)ZF93GONY>BxOmk5XLAnF>xTiTbE p&=Hd=Mb%u%pSD;`W$H@4K-n1%& z2CoYLH@?jZ1uys{CBW)97&xKonV_`lEb!U=foq$*Tc`iuz`0TUlz|kp3RO5H5{Aw zRBT|HoYSq&#Qb9N)NU2Vl+C-kb(jSWtPD-{%+1YAOw23|O{0_qr+eRHl$|aj&-jLs zZ!+TtQE5a7Y4DWsqgVnA%ua5gIhxF7W>%(_RwhPz<|gJAMiz!<#z3RMZWU$7$V^E| z&C^XwOon-x1Loz)hV#WIU-)kT^D!(?EntDF09J{J4q&u`0W3OMpnRD4rVl(0szwaE zxX5myz{F#~Y{B3Mj8JJYl(6PUkIqR%K&{CQOhPPiPwlHfYzJmx<~LyG z!~;Ss_HQAg4NNf6NsPkGP{9L0=5wenAQPf%vICqs32qdMsbEc;A2QGXGx-B^Hvpd- BI6MFV diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/data.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/data.mdb index 49dbe67359bbfcb7daa4fdc6b998de5944c08509..226be2332b67c1f376e37de03c5ccebfaf80bf6b 100644 GIT binary patch delta 15316 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 delta 4739 zcmeHLYiv}<6`nKu@b$jt+FtKogR$3Zs4;#mcz3;CW7rTiHK_tifAkRov4JHxfT6Za zs}^dPTB%C|GE9_dlGb(*Y6*%0(jpd#v`J}0Byg$QMoLtSV^Gzg76D16lphW4%-nm| zkC;a)RqBt9rJXzX&YU^(%{kvW$GyGo-U-)0610PB>hcKE+Y+N+mOiNNAcxc>`+t=~KP)MCM@$8BqT{UG?N)Oh=>CgoQLhPN(@EfL!{o8p*kAFlv%>yIkJO^s49pS2C?9?75r5(p)sn$|>YT`@*Hue+h3nmg~-^Pb||)8YAIob#PN#ciV=xuGEuV?cYuXs@#XSSL#(kO8lt;ZA1y5qfd?9PvtB9H|XOVxh&2 z(NOsD;GU1@+@6PQkw`Qg<2p7~Y)W-)>}=oJ-M*uPi#F7%4tBI{7s9K9UEk;w&vdY7 zB|CEyJd2_Y4Gpnygp0BZbY#P*81*V6o}=#Xx*m1<9KFg?5+IpCE3_(^-fPgC1376( z3<>jbu%S!X&Nd&%YMB66l@e@ddwXhI`=^k;vRc?K4ExhsVil1~>82qyN32B1OJ5mU z0CQN|aa>p~-0nfdkPhBiAX zN|IHR7Rye!abEhZUo>H2t`qZOXq3;ZOs_ccqJvxZ9W3Xu%lr9_TwAAM;xdGb$x$@I zh>9yXG|wsN^ZnSK87aYG2)L(ADnVB*H{6f7`W@$$H|;m9S1kd7-dd`uZzC^^z@fFR=!9yq>LP$~u;_UhcuJjimFH(#Nq7xH%V^>x~DbXc}vA87; zd@oeO$@D`fUJ@5IfdvJ5XQLoGx=zddc|R0mVg`_@GUQcDNBeIRGLIjlpKw)v%2n~2 zCNEU+qSNlv?vFhjxg+lX)95TTx^$983xx^DCV(3zza+yl!RRJmC4xq+^`UqXbF75| zI@nxyDDI*^ih9{=ZQxA*U|*3fVw$obu}Kp)%{(eqn`z+r!oaIewSr4^`A{F}qc1XgztNjOn`CA(U#{`pP7mJnCruSTE47=u>GpqwoFhl% zH3~#HIb@=(@CSEVS^r~@8Hks@yxLa|5)+OFLe)|W8`_%M+}=5P4Q>H+nTpIq>7G7~ z)4Ks)qCG$HrPnR(g3PGf62iW@#+d{meL976)1j?)`m@z}3vpHf?!R|a0jcw3#z#zq zg%VM8od=c*&Ni zEA)>wMQn5rcn`0~&yRw`hfxVSHZ8Io(<941OZwRNzwFXXGZ4G`(6ij)p5^Q;Z7#so zIBkcE^jFcWAJ}PK#76B6(ibKbVO)`5x+Av1mf^dfgi_P|?_ubbg#~x#ant;CP_79c z7pTZ^t64x{zuyA|ht?|@>jC&DXo2j_2zNis?c^}I?cD4%(`%=BHwzx4^9?4c#xq@m4{3O92yM*=W)Y}*NjWHAs#|>yC)(K7v5^-qn{-F-z@aLABmO&; zmk_#TPugY+b{xcj4Jf@Cp61u{%=i|hA4Cf765}EmeFj44@63T}NprEtTcl{k$bXSRj|iDD z+N`J42dSre%n+;?3Y$f`P6G%fjNRhKceAcC4_IrwH)$|njLlGQF~%ZG7j22&@n1p0 lDkC9_%_@%0k9gaYXCBT>Lu8rOXvUxWm1+MG1cCcO@NYIgBj*4B diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb index b27d4eb0b26e645b65639abe6fd4031d1130e54e..6d38eab089708e3c50d476c7a142aea909c6b5c6 100644 GIT binary patch delta 69 zcmZp0XmAj`ci{a#rUZQ*Zw3fpnJC!6>h|C9e)Ysat%(i7%vNxgHJCMtQJ5LR+T6g{ GAO`?0;uog? delta 74 zcmZp0XmAj`ci{a#rUZQ*I|c|~oG949dThS>pQ?$0S`!-tS=;1qx6}gJlN}g^nITM& PaM=D^VByUTj16)Cx)~aY diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs index 539309d0a..7c1af748e 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +++ b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs @@ -115,7 +115,7 @@ async fn check_the_index_scheduler(server: &Server) { { "uid": "kefir", "createdAt": "2025-01-16T16:45:16.020663157Z", - "updatedAt": "2025-01-16T17:18:43.296777845Z", + "updatedAt": "2025-01-23T11:36:22.634859166Z", "primaryKey": "id" } ], @@ -128,8 +128,8 @@ async fn check_the_index_scheduler(server: &Server) { let (stats, _) = server.stats().await; snapshot!(stats, @r#" { - "databaseSize": 425984, - "lastUpdate": "2025-01-16T17:18:43.296777845Z", + "databaseSize": 438272, + "lastUpdate": "2025-01-23T11:36:22.634859166Z", "indexes": { "kefir": { "numberOfDocuments": 1, @@ -207,8 +207,8 @@ async fn check_the_index_scheduler(server: &Server) { let (stats, _) = server.stats().await; snapshot!(stats, @r#" { - "databaseSize": 425984, - "lastUpdate": "2025-01-16T17:18:43.296777845Z", + "databaseSize": 438272, + "lastUpdate": "2025-01-23T11:36:22.634859166Z", "indexes": { "kefir": { "numberOfDocuments": 1, From 182c3f4b80f1aa44b2c0e1e9863c43aa1314d30c Mon Sep 17 00:00:00 2001 From: Louis Dureuil Date: Thu, 23 Jan 2025 16:33:16 +0100 Subject: [PATCH 32/36] Write assumed version to the index-scheduler version db when it is missing --- crates/index-scheduler/src/versioning.rs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/crates/index-scheduler/src/versioning.rs b/crates/index-scheduler/src/versioning.rs index 19ad49fab..bc4937d2a 100644 --- a/crates/index-scheduler/src/versioning.rs +++ b/crates/index-scheduler/src/versioning.rs @@ -45,7 +45,17 @@ impl Versioning { let mut wtxn = env.write_txn()?; let version = env.create_database(&mut wtxn, Some(db_name::VERSION))?; let this = Self { version }; - let from = this.get_version(&wtxn)?.unwrap_or(db_version); + let from = match this.get_version(&wtxn)? { + Some(version) => version, + None => { + let assumed_version = match db_version { + (1, 12, _) => db_version, + _ => (1, 12, 7), + }; + this.set_version(&mut wtxn, assumed_version)?; + assumed_version + } + }; wtxn.commit()?; let bin_major: u32 = versioning::VERSION_MAJOR.parse().unwrap(); From 86bf231d292145c50dc3b3290607b4d2127edf6c Mon Sep 17 00:00:00 2001 From: Louis Dureuil Date: Thu, 23 Jan 2025 16:59:23 +0100 Subject: [PATCH 33/36] Change to meilitool after rebase --- crates/meilitool/src/main.rs | 9 ++------- crates/meilitool/src/upgrade/mod.rs | 15 ++++++++++----- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/crates/meilitool/src/main.rs b/crates/meilitool/src/main.rs index 0d59333e3..c2444fab6 100644 --- a/crates/meilitool/src/main.rs +++ b/crates/meilitool/src/main.rs @@ -187,7 +187,7 @@ fn export_a_dump( db_path: PathBuf, dump_dir: PathBuf, skip_enqueued_tasks: bool, - detected_version: (String, String, String), + detected_version: (u32, u32, u32), ) -> Result<(), anyhow::Error> { let started_at = OffsetDateTime::now_utc(); @@ -253,12 +253,7 @@ fn export_a_dump( if status == Status::Enqueued { let content_file = file_store.get_update(content_file_uuid)?; - if ( - detected_version.0.as_str(), - detected_version.1.as_str(), - detected_version.2.as_str(), - ) < ("1", "12", "0") - { + if (detected_version.0, detected_version.1, detected_version.2) < (1, 12, 0) { eprintln!("Dumping the enqueued tasks reading them in obkv format..."); let reader = DocumentsBatchReader::from_reader(content_file).with_context(|| { diff --git a/crates/meilitool/src/upgrade/mod.rs b/crates/meilitool/src/upgrade/mod.rs index f5d484466..bfaa6683d 100644 --- a/crates/meilitool/src/upgrade/mod.rs +++ b/crates/meilitool/src/upgrade/mod.rs @@ -68,8 +68,8 @@ impl OfflineUpgrade { (1, 9, _) => 0, (1, 10, _) => 1, (1, 11, _) => 2, - (1, 12, 0 | 1 | 2) => 3, - (1, 12, 3 | 4 | 5) => no_upgrade, + (1, 12, 0..=2) => 3, + (1, 12, 3..=5) => no_upgrade, _ => { bail!("Unsupported current version {current_major}.{current_minor}.{current_patch}. Can only upgrade from versions in range [{}-{}]", FIRST_SUPPORTED_UPGRADE_FROM_VERSION, @@ -83,7 +83,7 @@ impl OfflineUpgrade { (1, 10, _) => 0, (1, 11, _) => 1, (1, 12, x) if x == 0 || x == 1 || x == 2 => 2, - (1, 12, 3 | 4 | 5) => 3, + (1, 12, 3..=5) => 3, _ => { bail!("Unsupported target version {target_major}.{target_minor}.{target_patch}. Can only upgrade to versions in range [{}-{}]", FIRST_SUPPORTED_UPGRADE_TO_VERSION, @@ -95,8 +95,13 @@ impl OfflineUpgrade { if start_at == no_upgrade { println!("No upgrade operation to perform, writing VERSION file"); - create_version_file(&self.db_path, target_major, target_minor, target_patch) - .context("while writing VERSION file after the upgrade")?; + create_version_file( + &self.db_path, + &target_major.to_string(), + &target_minor.to_string(), + &target_patch.to_string(), + ) + .context("while writing VERSION file after the upgrade")?; println!("Success"); return Ok(()); } From 718a98fbbfc2128033701952faa6662c11f9fc4d Mon Sep 17 00:00:00 2001 From: Louis Dureuil Date: Thu, 23 Jan 2025 17:08:35 +0100 Subject: [PATCH 34/36] remove `:` char from filenames --- ...EnqueuedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...FinishedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...rStartedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...EnqueuedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...FinishedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...eStartedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...EnqueuedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...FinishedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...rStartedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...EnqueuedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...FinishedAt_equal_2025-01-16T16_47_41.snap} | 1 - ...eStartedAt_equal_2025-01-16T16_47_41.snap} | 1 - .../tests/upgrade/v1_12/v1_12_0.rs | 24 +++++++++---------- 13 files changed, 12 insertions(+), 24 deletions(-) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap => batches_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41.snap} (99%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap => batches_filter_afterFinishedAt_equal_2025-01-16T16_47_41.snap} (99%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap => batches_filter_afterStartedAt_equal_2025-01-16T16_47_41.snap} (99%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap => batches_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41.snap} (98%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap => batches_filter_beforeFinishedAt_equal_2025-01-16T16_47_41.snap} (98%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap => batches_filter_beforeStartedAt_equal_2025-01-16T16_47_41.snap} (98%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap => tasks_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41.snap} (99%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap => tasks_filter_afterFinishedAt_equal_2025-01-16T16_47_41.snap} (99%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap => tasks_filter_afterStartedAt_equal_2025-01-16T16_47_41.snap} (99%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap => tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41.snap} (98%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap => tasks_filter_beforeFinishedAt_equal_2025-01-16T16_47_41.snap} (98%) rename crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/{tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap => tasks_filter_beforeStartedAt_equal_2025-01-16T16_47_41.snap} (98%) diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41.snap similarity index 99% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41.snap index ef12003c3..6fe049b02 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16_47_41.snap similarity index 99% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16_47_41.snap index ef12003c3..6fe049b02 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterFinishedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16_47_41.snap similarity index 99% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16_47_41.snap index ef12003c3..6fe049b02 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_afterStartedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41.snap similarity index 98% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41.snap index f4d230296..b6634ceaf 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16_47_41.snap similarity index 98% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16_47_41.snap index f4d230296..b6634ceaf 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeFinishedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16_47_41.snap similarity index 98% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16_47_41.snap index f4d230296..b6634ceaf 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/batches_filter_beforeStartedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41.snap similarity index 99% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41.snap index 8744b569b..102e21b73 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16_47_41.snap similarity index 99% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16_47_41.snap index 8744b569b..102e21b73 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterFinishedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16_47_41.snap similarity index 99% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16_47_41.snap index 8744b569b..102e21b73 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_afterStartedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41.snap similarity index 98% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41.snap index 8c71118a0..d644e59f3 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16_47_41.snap similarity index 98% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16_47_41.snap index 8c71118a0..d644e59f3 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeFinishedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16_47_41.snap similarity index 98% rename from crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap rename to crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16_47_41.snap index 8c71118a0..d644e59f3 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41.snap +++ b/crates/meilisearch/tests/upgrade/v1_12/snapshots/v1_12_0.rs/check_the_index_scheduler/tasks_filter_beforeStartedAt_equal_2025-01-16T16_47_41.snap @@ -1,6 +1,5 @@ --- source: crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs -snapshot_kind: text --- { "results": [ diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs index 7c1af748e..da809de7f 100644 --- a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs +++ b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs @@ -169,17 +169,17 @@ async fn check_the_index_scheduler(server: &Server) { let (tasks, _) = server.tasks_filter("canceledBy=19").await; snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_canceledBy_equal_19"); let (tasks, _) = server.tasks_filter("beforeEnqueuedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41"); let (tasks, _) = server.tasks_filter("afterEnqueuedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41"); let (tasks, _) = server.tasks_filter("beforeStartedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_beforeStartedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_beforeStartedAt_equal_2025-01-16T16_47_41"); let (tasks, _) = server.tasks_filter("afterStartedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_afterStartedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_afterStartedAt_equal_2025-01-16T16_47_41"); let (tasks, _) = server.tasks_filter("beforeFinishedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_beforeFinishedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_beforeFinishedAt_equal_2025-01-16T16_47_41"); let (tasks, _) = server.tasks_filter("afterFinishedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_afterFinishedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(tasks, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "tasks_filter_afterFinishedAt_equal_2025-01-16T16_47_41"); // Tests all the batches query parameters let (batches, _) = server.batches_filter("uids=10").await; @@ -192,17 +192,17 @@ async fn check_the_index_scheduler(server: &Server) { let (batches, _) = server.batches_filter("canceledBy=19").await; snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_canceledBy_equal_19"); let (batches, _) = server.batches_filter("beforeEnqueuedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_beforeEnqueuedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_beforeEnqueuedAt_equal_2025-01-16T16_47_41"); let (batches, _) = server.batches_filter("afterEnqueuedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterEnqueuedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterEnqueuedAt_equal_2025-01-16T16_47_41"); let (batches, _) = server.batches_filter("beforeStartedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_beforeStartedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_beforeStartedAt_equal_2025-01-16T16_47_41"); let (batches, _) = server.batches_filter("afterStartedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterStartedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterStartedAt_equal_2025-01-16T16_47_41"); let (batches, _) = server.batches_filter("beforeFinishedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_beforeFinishedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_beforeFinishedAt_equal_2025-01-16T16_47_41"); let (batches, _) = server.batches_filter("afterFinishedAt=2025-01-16T16:47:41Z").await; - snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterFinishedAt_equal_2025-01-16T16:47:41"); + snapshot!(json_string!(batches, { ".results[0].duration" => "[duration]", ".results[0].enqueuedAt" => "[date]", ".results[0].startedAt" => "[date]", ".results[0].finishedAt" => "[date]" }), name: "batches_filter_afterFinishedAt_equal_2025-01-16T16_47_41"); let (stats, _) = server.stats().await; snapshot!(stats, @r#" From c1e5897076b8b75aaa6634c7cc0254280968f1e0 Mon Sep 17 00:00:00 2001 From: Louis Dureuil Date: Thu, 23 Jan 2025 17:16:53 +0100 Subject: [PATCH 35/36] Do not assume v1.12 when there is no index-scheduler version --- crates/index-scheduler/src/versioning.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/crates/index-scheduler/src/versioning.rs b/crates/index-scheduler/src/versioning.rs index bc4937d2a..f4c502b6f 100644 --- a/crates/index-scheduler/src/versioning.rs +++ b/crates/index-scheduler/src/versioning.rs @@ -47,13 +47,10 @@ impl Versioning { let this = Self { version }; let from = match this.get_version(&wtxn)? { Some(version) => version, + // fresh DB: use the db version None => { - let assumed_version = match db_version { - (1, 12, _) => db_version, - _ => (1, 12, 7), - }; - this.set_version(&mut wtxn, assumed_version)?; - assumed_version + this.set_version(&mut wtxn, db_version)?; + db_version } }; wtxn.commit()?; From 73d8a4eaced7e9c83a6cad63f2c7fde15d26647d Mon Sep 17 00:00:00 2001 From: Louis Dureuil Date: Thu, 23 Jan 2025 17:21:42 +0100 Subject: [PATCH 36/36] Remove db.snapshot --- crates/meilisearch/db.snapshot | Bin 172073 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 crates/meilisearch/db.snapshot diff --git a/crates/meilisearch/db.snapshot b/crates/meilisearch/db.snapshot deleted file mode 100644 index 8eb692ecd524b9b7d2d2f398bbbc9edd58844cb9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 172073 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�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

i@71&WA_8X14QW(~qV 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

GZIeX`9A-;@{dHBS<2fM%U5?=@Le-OCWyU)Fm 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�kgM_`I+DazHbNx_-ZdP} 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 u-|lM}O0gX7t;kFr~5ySIc#|V