From 6df823f8040c376ca96f6cba8879cf878737fa93 Mon Sep 17 00:00:00 2001 From: luoxiaojian Date: Wed, 17 Jun 2026 11:28:36 +0800 Subject: [PATCH] fix(hnsw): restore persisted info on reopen for UniformInt8 quantizer (#496) --- src/core/algorithm/hnsw/hnsw_streamer.cc | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/core/algorithm/hnsw/hnsw_streamer.cc b/src/core/algorithm/hnsw/hnsw_streamer.cc index 92b2cf7..64ff5a7 100644 --- a/src/core/algorithm/hnsw/hnsw_streamer.cc +++ b/src/core/algorithm/hnsw/hnsw_streamer.cc @@ -293,6 +293,18 @@ int HnswStreamer::open(IndexStorage::Pointer stg) { auto metric_params = index_meta.metric_params(); metric_params.merge(meta_.metric_params()); meta_.set_metric(index_meta.metric_name(), 0, metric_params); + + // Restore converter/reformer from the persisted meta + if (!index_meta.reformer_name().empty()) { + meta_.set_reformer(index_meta.reformer_name(), + index_meta.reformer_revision(), + index_meta.reformer_params()); + } + if (!index_meta.converter_name().empty()) { + meta_.set_converter(index_meta.converter_name(), + index_meta.converter_revision(), + index_meta.converter_params()); + } } metric_ = IndexFactory::CreateMetric(meta_.metric_name());