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 000000000..421b40a8c Binary files /dev/null and b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/data.mdb differ 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 new file mode 100644 index 000000000..987a95d1b Binary files /dev/null and b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/auth/lock.mdb differ 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 000000000..598dc17a6 Binary files /dev/null and b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/data.mdb differ diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/lock.mdb b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/lock.mdb new file mode 100644 index 000000000..fe9326564 Binary files /dev/null and b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/indexes/381abe91-f939-4b91-92f2-01a24c2e8e3d/lock.mdb differ 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 000000000..49dbe6735 Binary files /dev/null and b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/data.mdb differ 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 new file mode 100644 index 000000000..13319457b Binary files /dev/null and b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.ms/tasks/lock.mdb differ diff --git a/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs new file mode 100644 index 000000000..e47926262 --- /dev/null +++ b/crates/meilisearch/tests/upgrade/v1_12/v1_12_0.rs @@ -0,0 +1,243 @@ +// This test is the first test of the dumpless upgrade. +// It must test pretty much all the features of meilisearch because the other tests will only tests +// the new features they introduced. + +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, +}; + +#[actix_rt::test] +async fn import_v1_12_0() { + let temp = tempfile::tempdir().unwrap(); + let original_db_path = exist_relative_path!("tests/upgrade/v1_12/v1_12_0.ms"); + let options = Opt { + experimental_dumpless_upgrade: true, + master_key: Some("kefir".to_string()), + ..default_settings(temp.path()) + }; + copy_dir_all(original_db_path, &options.db_path).unwrap(); + let mut server = Server::new_with_options(options).await.unwrap(); + server.use_api_key("kefir"); + + check_the_keys(&server).await; + check_the_index_scheduler(&server).await; + check_the_index_features(&server).await; +} + +/// We must ensure that the keys database is still working: +/// 1. Check its content +/// 2. Ensure we can still query the keys +/// 3. Ensure we can still update the keys +async fn check_the_keys(server: &Server) { + // All the api keys are still present + let (keys, _) = server.list_api_keys("").await; + snapshot!(json_string!(keys, { ".results[].updatedAt" => "[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()) }