diff --git a/crates/ahm/src/lib.rs b/crates/ahm/src/lib.rs index ae1307146..17a6b71bc 100644 --- a/crates/ahm/src/lib.rs +++ b/crates/ahm/src/lib.rs @@ -66,7 +66,7 @@ static GLOBAL_HEAL_CHANNEL_PROCESSOR: OnceLock, config: Option, -) -> Result<()> { +) -> Result> { // Create heal manager let heal_manager = Arc::new(HealManager::new(storage, config)); @@ -82,7 +82,7 @@ pub async fn init_heal_manager( let channel_receiver = rustfs_common::heal_channel::init_heal_channel(); // Create channel processor - let channel_processor = HealChannelProcessor::new(heal_manager); + let channel_processor = HealChannelProcessor::new(heal_manager.clone()); // Store channel processor instance first GLOBAL_HEAL_CHANNEL_PROCESSOR @@ -101,7 +101,7 @@ pub async fn init_heal_manager( }); info!("Heal manager with channel processor initialized successfully"); - Ok(()) + Ok(heal_manager) } /// Get global heal manager instance diff --git a/rustfs/src/main.rs b/rustfs/src/main.rs index c40658328..c6677ed9e 100644 --- a/rustfs/src/main.rs +++ b/rustfs/src/main.rs @@ -30,8 +30,7 @@ use clap::Parser; use license::init_license; use rustfs_ahm::scanner::data_scanner::ScannerConfig; use rustfs_ahm::{ - Scanner, create_ahm_services_cancel_token, heal::storage::ECStoreHealStorage, init_heal_manager, - shutdown_ahm_services, + Scanner, create_ahm_services_cancel_token, heal::storage::ECStoreHealStorage, init_heal_manager, shutdown_ahm_services, }; use rustfs_common::globals::set_global_addr; use rustfs_config::DEFAULT_DELIMITER; @@ -191,9 +190,9 @@ async fn run(opt: config::Opt) -> Result<()> { // Initialize heal manager with channel processor let heal_storage = Arc::new(ECStoreHealStorage::new(store.clone())); - init_heal_manager(heal_storage, None).await?; + let heal_manager = init_heal_manager(heal_storage, None).await?; - let scanner = Scanner::new(Some(ScannerConfig::default()), None); + let scanner = Scanner::new(Some(ScannerConfig::default()), Some(heal_manager)); scanner.start().await?; print_server_info(); init_bucket_replication_pool().await;