diff --git a/crates/milli/src/update/new/extract/documents.rs b/crates/milli/src/update/new/extract/documents.rs index 1514de72f..4d9a72715 100644 --- a/crates/milli/src/update/new/extract/documents.rs +++ b/crates/milli/src/update/new/extract/documents.rs @@ -186,10 +186,10 @@ impl<'a, 'b> SettingsChangeDocumentExtractor<'a, 'b> { } impl<'extractor> SettingsChangeExtractor<'extractor> for SettingsChangeDocumentExtractor<'_, '_> { - type Data = FullySend>; + type Data = FullySend<()>; fn init_data(&self, _extractor_alloc: &'extractor Bump) -> Result { - Ok(FullySend(Default::default())) + Ok(FullySend(())) } fn process<'doc>( diff --git a/crates/milli/src/update/new/indexer/extract.rs b/crates/milli/src/update/new/indexer/extract.rs index c94da9629..8ed9dc37a 100644 --- a/crates/milli/src/update/new/indexer/extract.rs +++ b/crates/milli/src/update/new/indexer/extract.rs @@ -322,12 +322,13 @@ where Result::Ok((facet_field_ids_delta, index_embeddings)) } -pub(super) fn extract_all_settings_changes<'extractor, MSP, SD>( +#[allow(clippy::too_many_arguments)] +pub(super) fn extract_all_settings_changes( indexing_context: IndexingContext, indexer_span: Span, extractor_sender: ExtractorBbqueueSender, settings_delta: &SD, - extractor_allocs: &'extractor mut ThreadLocal>, + extractor_allocs: &mut ThreadLocal>, finished_extraction: &AtomicBool, field_distribution: &mut BTreeMap, mut index_embeddings: Vec, @@ -342,7 +343,7 @@ where let all_document_ids = indexing_context.index.documents_ids(&rtxn)?.into_iter().collect::>(); let primary_key = - primary_key_from_db(&indexing_context.index, &rtxn, &indexing_context.db_fields_ids_map)?; + primary_key_from_db(indexing_context.index, &rtxn, &indexing_context.db_fields_ids_map)?; let documents = DatabaseDocuments::new(&all_document_ids, primary_key); let span = @@ -364,7 +365,7 @@ where let embedding_sender = extractor_sender.embeddings(); - // extract the remaining embedders + // extract the remaining embeddings let extractor = SettingsChangeEmbeddingExtractor::new( settings_delta.new_embedders(), settings_delta.old_embedders(), @@ -410,9 +411,9 @@ where Result::Ok(index_embeddings) } -fn primary_key_from_db<'indexer, 'index>( +fn primary_key_from_db<'indexer>( index: &'indexer Index, - rtxn: &'indexer heed::RoTxn<'index>, + rtxn: &'indexer heed::RoTxn<'_>, fields: &'indexer impl FieldIdMapper, ) -> Result> { let Some(primary_key) = index.primary_key(rtxn)? else { diff --git a/crates/milli/src/update/new/indexer/mod.rs b/crates/milli/src/update/new/indexer/mod.rs index 6dbfc5433..2398b5f09 100644 --- a/crates/milli/src/update/new/indexer/mod.rs +++ b/crates/milli/src/update/new/indexer/mod.rs @@ -205,8 +205,7 @@ where Ok(congestion) } -#[allow(clippy::too_many_arguments)] // clippy: 😝 -pub fn reindex<'pl, 'indexer, 'index, MSP, SD>( +pub fn reindex<'indexer, 'index, MSP, SD>( wtxn: &mut RwTxn<'index>, index: &'index Index, pool: &ThreadPoolNoAbort, @@ -307,7 +306,7 @@ where index_embeddings, arroy_memory, &mut arroy_writers, - Some(&embedder_actions), + Some(embedder_actions), &indexing_context.must_stop_processing, ) }) @@ -336,8 +335,8 @@ where Ok(congestion) } -fn arroy_writers_from_embedder_actions<'indexer, 'index>( - index: &'index Index, +fn arroy_writers_from_embedder_actions<'indexer>( + index: &Index, embedder_actions: &'indexer BTreeMap, embedders: &'indexer EmbeddingConfigs, index_embedder_category_ids: &'indexer std::collections::HashMap, @@ -372,15 +371,11 @@ fn arroy_writers_from_embedder_actions<'indexer, 'index>( .collect() } -fn delete_old_embedders<'indexer, 'index, SD>( - wtxn: &mut RwTxn<'_>, - index: &'index Index, - settings_delta: &'indexer SD, -) -> Result<()> +fn delete_old_embedders(wtxn: &mut RwTxn<'_>, index: &Index, settings_delta: &SD) -> Result<()> where SD: SettingsDelta, { - for (_name, action) in settings_delta.embedder_actions() { + for action in settings_delta.embedder_actions().values() { if let Some(WriteBackToDocuments { embedder_id, .. }) = action.write_back() { let reader = ArroyWrapper::new(index.vector_arroy, *embedder_id, action.was_quantized); let dimensions = reader.dimensions(wtxn)?; diff --git a/crates/milli/src/update/new/indexer/settings_changes.rs b/crates/milli/src/update/new/indexer/settings_changes.rs index 90c451534..99e303f16 100644 --- a/crates/milli/src/update/new/indexer/settings_changes.rs +++ b/crates/milli/src/update/new/indexer/settings_changes.rs @@ -23,7 +23,7 @@ pub trait SettingsChangeExtractor<'extractor>: Sync { fn process<'doc>( &'doc self, - changes: impl Iterator>>, + documents: impl Iterator>>, context: &'doc DocumentContext, ) -> Result<()>; } @@ -128,12 +128,11 @@ pub fn settings_change_extract< // Clean up and reuse the document-specific allocator context.doc_alloc.reset(); - let items = items.as_ref(); - let changes = items + let documents = items .iter() .filter_map(|item| documents.item_to_database_document(context, item).transpose()); - let res = extractor.process(changes, context).map_err(Arc::new); + let res = extractor.process(documents, context).map_err(Arc::new); step.fetch_add(items.as_ref().len() as u32, Ordering::Relaxed); // send back the doc_alloc in the pool diff --git a/crates/milli/src/update/new/indexer/write.rs b/crates/milli/src/update/new/indexer/write.rs index 19696f169..fa48ff589 100644 --- a/crates/milli/src/update/new/indexer/write.rs +++ b/crates/milli/src/update/new/indexer/write.rs @@ -101,6 +101,7 @@ impl ChannelCongestion { } #[tracing::instrument(level = "debug", skip_all, target = "indexing::vectors")] +#[allow(clippy::too_many_arguments)] pub fn build_vectors( index: &Index, wtxn: &mut RwTxn<'_>, diff --git a/crates/milli/src/update/settings.rs b/crates/milli/src/update/settings.rs index d21afdd28..32e3b17f9 100644 --- a/crates/milli/src/update/settings.rs +++ b/crates/milli/src/update/settings.rs @@ -1476,7 +1476,7 @@ impl<'a, 't, 'i> Settings<'a, 't, 'i> { chat: Setting::NotSet, wtxn: _, index: _, - indexer_config: _, // TODO: this is not used + indexer_config: _, } = &self { self.index.set_updated_at(self.wtxn, &OffsetDateTime::now_utc())?; @@ -1486,9 +1486,7 @@ impl<'a, 't, 'i> Settings<'a, 't, 'i> { // Update index settings let embedding_config_updates = self.update_embedding_configs()?; - let mut new_inner_settings = - InnerIndexSettings::from_index(self.index, self.wtxn, None)?; - new_inner_settings.recompute_searchables(self.wtxn, self.index)?; + let new_inner_settings = InnerIndexSettings::from_index(self.index, self.wtxn, None)?; let primary_key_id = self .index