Refer to v1.19 and remove arroy -> hannoy dumpless upgrade

This commit is contained in:
Louis Dureuil
2025-09-01 12:10:13 +02:00
parent 381de52fc5
commit 231f86decf
4 changed files with 20 additions and 60 deletions

34
Cargo.lock generated
View File

@ -580,7 +580,7 @@ source = "git+https://github.com/meilisearch/bbqueue#cbb87cc707b5af415ef203bdaf2
[[package]] [[package]]
name = "benchmarks" name = "benchmarks"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"bumpalo", "bumpalo",
@ -790,7 +790,7 @@ dependencies = [
[[package]] [[package]]
name = "build-info" name = "build-info"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"time", "time",
@ -1784,7 +1784,7 @@ dependencies = [
[[package]] [[package]]
name = "dump" name = "dump"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"big_s", "big_s",
@ -2016,7 +2016,7 @@ checksum = "37909eebbb50d72f9059c3b6d82c0463f2ff062c9e95845c43a6c9c0355411be"
[[package]] [[package]]
name = "file-store" name = "file-store"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"tempfile", "tempfile",
"thiserror 2.0.14", "thiserror 2.0.14",
@ -2038,7 +2038,7 @@ dependencies = [
[[package]] [[package]]
name = "filter-parser" name = "filter-parser"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"insta", "insta",
"levenshtein_automata", "levenshtein_automata",
@ -2060,7 +2060,7 @@ dependencies = [
[[package]] [[package]]
name = "flatten-serde-json" name = "flatten-serde-json"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"criterion", "criterion",
"serde_json", "serde_json",
@ -2205,7 +2205,7 @@ dependencies = [
[[package]] [[package]]
name = "fuzzers" name = "fuzzers"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"arbitrary", "arbitrary",
"bumpalo", "bumpalo",
@ -3028,7 +3028,7 @@ dependencies = [
[[package]] [[package]]
name = "index-scheduler" name = "index-scheduler"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"backoff", "backoff",
@ -3275,7 +3275,7 @@ dependencies = [
[[package]] [[package]]
name = "json-depth-checker" name = "json-depth-checker"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"criterion", "criterion",
"serde_json", "serde_json",
@ -3775,7 +3775,7 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771"
[[package]] [[package]]
name = "meili-snap" name = "meili-snap"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"insta", "insta",
"md5", "md5",
@ -3786,7 +3786,7 @@ dependencies = [
[[package]] [[package]]
name = "meilisearch" name = "meilisearch"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"actix-cors", "actix-cors",
"actix-http", "actix-http",
@ -3883,7 +3883,7 @@ dependencies = [
[[package]] [[package]]
name = "meilisearch-auth" name = "meilisearch-auth"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"base64 0.22.1", "base64 0.22.1",
"enum-iterator", "enum-iterator",
@ -3902,7 +3902,7 @@ dependencies = [
[[package]] [[package]]
name = "meilisearch-types" name = "meilisearch-types"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"actix-web", "actix-web",
"anyhow", "anyhow",
@ -3937,7 +3937,7 @@ dependencies = [
[[package]] [[package]]
name = "meilitool" name = "meilitool"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"clap", "clap",
@ -3971,7 +3971,7 @@ dependencies = [
[[package]] [[package]]
name = "milli" name = "milli"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"allocator-api2 0.3.0", "allocator-api2 0.3.0",
"arroy", "arroy",
@ -4554,7 +4554,7 @@ checksum = "e3148f5046208a5d56bcfc03053e3ca6334e51da8dfb19b6cdc8b306fae3283e"
[[package]] [[package]]
name = "permissive-json-pointer" name = "permissive-json-pointer"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"big_s", "big_s",
"serde_json", "serde_json",
@ -7515,7 +7515,7 @@ dependencies = [
[[package]] [[package]]
name = "xtask" name = "xtask"
version = "1.22.0" version = "1.19.0"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"build-info", "build-info",

View File

@ -23,7 +23,7 @@ members = [
] ]
[workspace.package] [workspace.package]
version = "1.22.0" version = "1.19.0"
authors = [ authors = [
"Quentin de Quelen <quentin@dequelen.me>", "Quentin de Quelen <quentin@dequelen.me>",
"Clément Renault <clement@meilisearch.com>", "Clément Renault <clement@meilisearch.com>",

View File

@ -1,4 +1,3 @@
mod new_hannoy;
mod v1_12; mod v1_12;
mod v1_13; mod v1_13;
mod v1_14; mod v1_14;
@ -6,7 +5,6 @@ mod v1_15;
mod v1_16; mod v1_16;
use heed::RwTxn; use heed::RwTxn;
use new_hannoy::Latest_V1_18_New_Hannoy;
use v1_12::{V1_12_3_To_V1_13_0, V1_12_To_V1_12_3}; use v1_12::{V1_12_3_To_V1_13_0, V1_12_To_V1_12_3};
use v1_13::{V1_13_0_To_V1_13_1, V1_13_1_To_Latest_V1_13}; use v1_13::{V1_13_0_To_V1_13_1, V1_13_1_To_Latest_V1_13};
use v1_14::Latest_V1_13_To_Latest_V1_14; use v1_14::Latest_V1_13_To_Latest_V1_14;
@ -38,7 +36,7 @@ const UPGRADE_FUNCTIONS: &[&dyn UpgradeIndex] = &[
&Latest_V1_14_To_Latest_V1_15 {}, &Latest_V1_14_To_Latest_V1_15 {},
&Latest_V1_15_To_V1_16_0 {}, &Latest_V1_15_To_V1_16_0 {},
&ToTargetNoOp { target: (1, 18, 0) }, &ToTargetNoOp { target: (1, 18, 0) },
&Latest_V1_18_New_Hannoy {}, &ToTargetNoOp { target: (1, 19, 0) },
// This is the last upgrade function, it will be called when the index is up to date. // This is the last upgrade function, it will be called when the index is up to date.
// any other upgrade function should be added before this one. // any other upgrade function should be added before this one.
&ToCurrentNoOp {}, &ToCurrentNoOp {},
@ -68,8 +66,7 @@ const fn start(from: (u32, u32, u32)) -> Option<usize> {
(1, 15, _) => function_index!(6), (1, 15, _) => function_index!(6),
(1, 16, _) | (1, 17, _) => function_index!(7), (1, 16, _) | (1, 17, _) => function_index!(7),
(1, 18, _) => function_index!(8), (1, 18, _) => function_index!(8),
(1, 19, _) => function_index!(8), (1, 19, _) => function_index!(9),
(1, 22, _) => function_index!(9),
// We deliberately don't add a placeholder with (VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH) here to force manually // We deliberately don't add a placeholder with (VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH) here to force manually
// considering dumpless upgrade. // considering dumpless upgrade.
(_major, _minor, _patch) => return None, (_major, _minor, _patch) => return None,

View File

@ -1,37 +0,0 @@
use heed::RwTxn;
use super::UpgradeIndex;
use crate::progress::Progress;
use crate::vector::VectorStore;
use crate::{Index, Result};
#[allow(non_camel_case_types)]
pub(super) struct Latest_V1_18_New_Hannoy();
impl UpgradeIndex for Latest_V1_18_New_Hannoy {
fn upgrade(
&self,
wtxn: &mut RwTxn,
index: &Index,
_original: (u32, u32, u32),
progress: Progress,
) -> Result<bool> {
let embedding_configs = index.embedding_configs();
let backend = index.get_vector_store(wtxn)?;
for config in embedding_configs.embedding_configs(wtxn)? {
// TODO use the embedder name to display progress
/// REMOVE THIS FILE, IMPLEMENT CONVERSION AS A SETTING CHANGE
let quantized = config.config.quantized();
let embedder_id = embedding_configs.embedder_id(wtxn, &config.name)?.unwrap();
let mut vector_store =
VectorStore::new(backend, index.vector_store, embedder_id, quantized);
vector_store.change_backend(wtxn, progress.clone())?;
}
Ok(false)
}
fn target_version(&self) -> (u32, u32, u32) {
(1, 22, 0)
}
}