From b99410ee6c8e8a3ea01efa1df154cdcbf60dd2e7 Mon Sep 17 00:00:00 2001 From: Mubelotix Date: Tue, 26 Aug 2025 14:53:46 +0200 Subject: [PATCH] Update movies workload --- crates/xtask/src/bench/workload.rs | 2 +- crates/xtask/src/common/assets.rs | 4 ++-- crates/xtask/src/common/command.rs | 4 ++-- crates/xtask/src/common/workload.rs | 2 +- crates/xtask/src/test/mod.rs | 10 +++++----- crates/xtask/src/test/versions.rs | 2 +- crates/xtask/src/test/workload.rs | 8 ++++---- workloads/tests/movies.json | 11 +++++++++-- 8 files changed, 25 insertions(+), 18 deletions(-) diff --git a/crates/xtask/src/bench/workload.rs b/crates/xtask/src/bench/workload.rs index 113666b1e..37bf16785 100644 --- a/crates/xtask/src/bench/workload.rs +++ b/crates/xtask/src/bench/workload.rs @@ -20,7 +20,7 @@ use crate::common::process::{self, delete_db, start_meili}; /// A bench workload. /// Not to be confused with [a test workload](crate::test::workload::Workload). -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub struct BenchWorkload { pub name: String, pub run_count: u16, diff --git a/crates/xtask/src/common/assets.rs b/crates/xtask/src/common/assets.rs index 31eeb70a9..fe7828a95 100644 --- a/crates/xtask/src/common/assets.rs +++ b/crates/xtask/src/common/assets.rs @@ -8,7 +8,7 @@ use sha2::Digest; use super::client::Client; -#[derive(Serialize, Deserialize, Clone)] +#[derive(Serialize, Deserialize, Clone, Debug)] pub struct Asset { pub local_location: Option, pub remote_location: Option, @@ -18,7 +18,7 @@ pub struct Asset { pub sha256: Option, } -#[derive(Serialize, Deserialize, Default, Copy, Clone)] +#[derive(Serialize, Deserialize, Default, Copy, Clone, Debug)] pub enum AssetFormat { #[default] Auto, diff --git a/crates/xtask/src/common/command.rs b/crates/xtask/src/common/command.rs index 1ec978134..3b18e8db2 100644 --- a/crates/xtask/src/common/command.rs +++ b/crates/xtask/src/common/command.rs @@ -12,7 +12,7 @@ use similar_asserts::SimpleDiff; use crate::common::assets::{fetch_asset, Asset}; use crate::common::client::{Client, Method}; -#[derive(Serialize, Deserialize, Clone)] +#[derive(Serialize, Deserialize, Clone, Debug)] #[serde(rename_all = "camelCase")] pub struct Command { pub route: String, @@ -27,7 +27,7 @@ pub struct Command { synchronous: SyncMode, } -#[derive(Default, Clone, Serialize, Deserialize)] +#[derive(Default, Clone, Serialize, Deserialize, Debug)] #[serde(untagged)] pub enum Body { Inline { diff --git a/crates/xtask/src/common/workload.rs b/crates/xtask/src/common/workload.rs index 94d98ec12..8091c8ed0 100644 --- a/crates/xtask/src/common/workload.rs +++ b/crates/xtask/src/common/workload.rs @@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize}; use crate::{bench::BenchWorkload, test::TestWorkload}; -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] #[serde(tag = "type")] #[serde(rename_all = "camelCase")] pub enum Workload { diff --git a/crates/xtask/src/test/mod.rs b/crates/xtask/src/test/mod.rs index 4e141dd2f..2d1dfbe0a 100644 --- a/crates/xtask/src/test/mod.rs +++ b/crates/xtask/src/test/mod.rs @@ -55,11 +55,11 @@ async fn run_inner(args: TestDeriveArgs) -> anyhow::Result<()> { let asset_folder = args.common.asset_folder.clone().leak(); for workload_file in &args.common.workload_file { - let workload: Workload = serde_json::from_reader( - std::fs::File::open(workload_file) - .with_context(|| format!("error opening {}", workload_file.display()))?, - ) - .with_context(|| format!("error parsing {} as JSON", workload_file.display()))?; + let string = tokio::fs::read_to_string(workload_file) + .await + .with_context(|| format!("error reading {}", workload_file.display()))?; + let workload: Workload = serde_json::from_str(string.trim()) + .with_context(|| format!("error parsing {} as JSON", workload_file.display()))?; let Workload::Test(workload) = workload else { bail!("workload file {} is not a test workload", workload_file.display()); diff --git a/crates/xtask/src/test/versions.rs b/crates/xtask/src/test/versions.rs index a248b9046..12bc342d1 100644 --- a/crates/xtask/src/test/versions.rs +++ b/crates/xtask/src/test/versions.rs @@ -5,7 +5,7 @@ use anyhow::Context; use cargo_metadata::semver::Version; use serde::{Deserialize, Serialize}; -#[derive(Clone)] +#[derive(Clone, Debug)] pub enum VersionOrLatest { Version(Version), Latest, diff --git a/crates/xtask/src/test/workload.rs b/crates/xtask/src/test/workload.rs index c50547be5..1303b3a76 100644 --- a/crates/xtask/src/test/workload.rs +++ b/crates/xtask/src/test/workload.rs @@ -19,7 +19,7 @@ use crate::{ }, }; -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] #[serde(untagged)] pub enum CommandOrUpgrade { Command(Command), @@ -52,8 +52,8 @@ fn produce_reference_value(value: &mut Value) { "processingTimeMs" => { *value = Value::String(String::from("[duration]")); continue; - }, - _ => produce_reference_value(value) + } + _ => produce_reference_value(value), } } } @@ -62,7 +62,7 @@ fn produce_reference_value(value: &mut Value) { /// A test workload. /// Not to be confused with [a bench workload](crate::bench::workload::Workload). -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] #[serde(rename_all = "camelCase")] pub struct TestWorkload { pub name: String, diff --git a/workloads/tests/movies.json b/workloads/tests/movies.json index f7133e651..3edcc925b 100644 --- a/workloads/tests/movies.json +++ b/workloads/tests/movies.json @@ -54,6 +54,9 @@ }, "synchronous": "WaitForTask" }, + { + "upgrade": "latest" + }, { "route": "indexes/movies/search?q=bitcoin", "method": "GET", @@ -128,7 +131,7 @@ ], "limit": 20, "offset": 0, - "processingTimeMs": 1, + "processingTimeMs": "[duration]", "query": "bitcoin" }, "synchronous": "DontWait" @@ -139,6 +142,7 @@ "body": null, "expectedStatus": 200, "expectedResponse": { + "avgDocumentSize": 499, "fieldDistribution": { "genres": 31944, "id": 31944, @@ -148,7 +152,10 @@ "title": 31944 }, "isIndexing": false, - "numberOfDocuments": 31944 + "numberOfDocuments": 31944, + "numberOfEmbeddedDocuments": 0, + "numberOfEmbeddings": 0, + "rawDocumentDbSize": 16220160 }, "synchronous": "DontWait" }