From 1040e5e2b42810f855d353a15d0a1b2a3dcdb152 Mon Sep 17 00:00:00 2001 From: Tamo Date: Tue, 3 Sep 2024 11:20:25 +0200 Subject: [PATCH] spawn on search queue per test --- meilisearch/tests/common/server.rs | 45 +++++++---------------------- meilisearch/tests/common/service.rs | 9 ++++-- meilisearch/tests/logs/mod.rs | 9 +++++- 3 files changed, 25 insertions(+), 38 deletions(-) diff --git a/meilisearch/tests/common/server.rs b/meilisearch/tests/common/server.rs index 3b189294d..1b55f539b 100644 --- a/meilisearch/tests/common/server.rs +++ b/meilisearch/tests/common/server.rs @@ -10,6 +10,7 @@ use std::time::Duration; use actix_http::body::MessageBody; use actix_web::dev::ServiceResponse; use actix_web::http::StatusCode; +use actix_web::web::Data; use byte_unit::{Byte, Unit}; use clap::Parser; use meilisearch::option::{IndexerOpts, MaxMemory, MaxThreads, Opt}; @@ -56,13 +57,7 @@ impl Server { let options = default_settings(dir.path()); let (index_scheduler, auth) = setup_meilisearch(&options).unwrap(); - let service = Service { - index_scheduler, - auth, - search_queue: Self::new_search_queue(&options), - options, - api_key: None, - }; + let service = Service { index_scheduler, auth, options, api_key: None }; Server { service, _dir: Some(dir), _marker: PhantomData } } @@ -77,13 +72,7 @@ impl Server { options.master_key = Some("MASTER_KEY".to_string()); let (index_scheduler, auth) = setup_meilisearch(&options).unwrap(); - let service = Service { - index_scheduler, - auth, - search_queue: Self::new_search_queue(&options), - options, - api_key: None, - }; + let service = Service { index_scheduler, auth, options, api_key: None }; Server { service, _dir: Some(dir), _marker: PhantomData } } @@ -96,13 +85,7 @@ impl Server { pub async fn new_with_options(options: Opt) -> Result { let (index_scheduler, auth) = setup_meilisearch(&options)?; - let service = Service { - index_scheduler, - auth, - search_queue: Self::new_search_queue(&options), - options, - api_key: None, - }; + let service = Service { index_scheduler, auth, options, api_key: None }; Ok(Server { service, _dir: None, _marker: PhantomData }) } @@ -204,13 +187,7 @@ impl Server { let options = default_settings(dir.path()); let (index_scheduler, auth) = setup_meilisearch(&options).unwrap(); - let service = Service { - index_scheduler, - auth, - api_key: None, - search_queue: Self::new_search_queue(&options), - options, - }; + let service = Service { index_scheduler, auth, api_key: None, options }; Server { service, _dir: Some(dir), _marker: PhantomData } } @@ -283,12 +260,6 @@ impl Server { } impl Server { - fn new_search_queue(options: &Opt) -> Arc { - let search_queue = - SearchQueue::new(options.experimental_search_queue_size, NonZeroUsize::new(1).unwrap()); - Arc::new(search_queue) - } - pub async fn init_web_app( &self, ) -> impl actix_web::dev::Service< @@ -308,11 +279,15 @@ impl Server { as Box + Send + Sync>) .with_filter(tracing_subscriber::filter::Targets::new()), ); + let search_queue = SearchQueue::new( + self.service.options.experimental_search_queue_size, + NonZeroUsize::new(1).unwrap(), + ); actix_web::test::init_service(create_app( self.service.index_scheduler.clone().into(), self.service.auth.clone().into(), - self.service.search_queue.clone().into(), + Data::new(search_queue), self.service.options.clone(), (route_layer_handle, stderr_layer_handle), analytics::MockAnalytics::new(&self.service.options), diff --git a/meilisearch/tests/common/service.rs b/meilisearch/tests/common/service.rs index 0b6b950bb..71670ceec 100644 --- a/meilisearch/tests/common/service.rs +++ b/meilisearch/tests/common/service.rs @@ -1,9 +1,11 @@ +use std::num::NonZeroUsize; use std::sync::Arc; use actix_web::http::header::ContentType; use actix_web::http::StatusCode; use actix_web::test; use actix_web::test::TestRequest; +use actix_web::web::Data; use index_scheduler::IndexScheduler; use meilisearch::search_queue::SearchQueue; use meilisearch::{analytics, create_app, Opt, SubscriberForSecondLayer}; @@ -17,7 +19,6 @@ use crate::common::Value; pub struct Service { pub index_scheduler: Arc, pub auth: Arc, - pub search_queue: Arc, pub options: Opt, pub api_key: Option, } @@ -121,11 +122,15 @@ impl Service { as Box + Send + Sync>) .with_filter(tracing_subscriber::filter::Targets::new()), ); + let search_queue = SearchQueue::new( + self.options.experimental_search_queue_size, + NonZeroUsize::new(1).unwrap(), + ); let app = test::init_service(create_app( self.index_scheduler.clone().into(), self.auth.clone().into(), - self.search_queue.clone().into(), + Data::new(search_queue), self.options.clone(), (route_layer_handle, stderr_layer_handle), analytics::MockAnalytics::new(&self.options), diff --git a/meilisearch/tests/logs/mod.rs b/meilisearch/tests/logs/mod.rs index 429641846..9f4649dca 100644 --- a/meilisearch/tests/logs/mod.rs +++ b/meilisearch/tests/logs/mod.rs @@ -1,10 +1,13 @@ mod error; +use std::num::NonZeroUsize; use std::rc::Rc; use std::str::FromStr; use actix_web::http::header::ContentType; +use actix_web::web::Data; use meili_snap::snapshot; +use meilisearch::search_queue::SearchQueue; use meilisearch::{analytics, create_app, Opt, SubscriberForSecondLayer}; use tracing::level_filters::LevelFilter; use tracing_subscriber::layer::SubscriberExt; @@ -40,11 +43,15 @@ async fn basic_test_log_stream_route() { .with_span_events(tracing_subscriber::fmt::format::FmtSpan::ACTIVE) .with_filter(tracing_subscriber::filter::LevelFilter::from_str("OFF").unwrap()), ); + let search_queue = SearchQueue::new( + server.service.options.experimental_search_queue_size, + NonZeroUsize::new(1).unwrap(), + ); let app = actix_web::test::init_service(create_app( server.service.index_scheduler.clone().into(), server.service.auth.clone().into(), - server.service.search_queue.clone().into(), + Data::new(search_queue), server.service.options.clone(), (route_layer_handle, stderr_layer_handle), analytics::MockAnalytics::new(&server.service.options),