From dd00ebcb5fce6587b17a6f8d9a622f95aaa64e1f Mon Sep 17 00:00:00 2001 From: WenyXu Date: Tue, 25 Jun 2024 02:52:39 +0000 Subject: [PATCH] chore: apply suggestions from CR --- src/meta-srv/src/handler/failure_handler.rs | 2 ++ src/meta-srv/src/metasrv/builder.rs | 16 +--------------- src/meta-srv/src/region/supervisor.rs | 3 ++- 3 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/meta-srv/src/handler/failure_handler.rs b/src/meta-srv/src/handler/failure_handler.rs index cb04c9aa4056..3b3338518982 100644 --- a/src/meta-srv/src/handler/failure_handler.rs +++ b/src/meta-srv/src/handler/failure_handler.rs @@ -14,6 +14,7 @@ use api::v1::meta::{HeartbeatRequest, Role}; use async_trait::async_trait; +use common_telemetry::info; use crate::error::Result; use crate::handler::{HandleControl, HeartbeatAccumulator, HeartbeatHandler}; @@ -27,6 +28,7 @@ pub struct RegionFailureHandler { impl RegionFailureHandler { pub(crate) fn new(mut region_supervisor: RegionSupervisor) -> Self { let heartbeat_acceptor = region_supervisor.heartbeat_acceptor(); + info!("Starting region supervisor"); tokio::spawn(async move { region_supervisor.run().await }); Self { heartbeat_acceptor } } diff --git a/src/meta-srv/src/metasrv/builder.rs b/src/meta-srv/src/metasrv/builder.rs index a6134912b9a2..0b9d8b701d13 100644 --- a/src/meta-srv/src/metasrv/builder.rs +++ b/src/meta-srv/src/metasrv/builder.rs @@ -305,21 +305,7 @@ impl MetasrvBuilder { let region_supervisor = RegionSupervisor::new( options.failure_detector, DEFAULT_TICK_INTERVAL, - // Requires to select MUST alive nodes. - SelectorContext { - server_addr: options.server_addr.clone(), - datanode_lease_secs: Duration::from_millis( - distributed_time_constants::HEARTBEAT_INTERVAL_MILLIS, - ) - .as_secs(), - flownode_lease_secs: Duration::from_millis( - distributed_time_constants::HEARTBEAT_INTERVAL_MILLIS, - ) - .as_secs(), - kv_backend: kv_backend.clone(), - meta_peer_client: meta_peer_client.clone(), - table_id: None, - }, + selector_ctx.clone(), selector.clone(), region_migration_manager.clone(), leader_cached_kv_backend.clone() as _, diff --git a/src/meta-srv/src/region/supervisor.rs b/src/meta-srv/src/region/supervisor.rs index 4c09f73b8d46..2827264d9d2b 100644 --- a/src/meta-srv/src/region/supervisor.rs +++ b/src/meta-srv/src/region/supervisor.rs @@ -17,6 +17,7 @@ use std::fmt::Debug; use std::sync::{Arc, Mutex}; use std::time::Duration; +use common_meta::distributed_time_constants::HEARTBEAT_INTERVAL_MILLIS; use common_meta::key::{TableMetadataManager, TableMetadataManagerRef, MAINTENANCE_KEY}; use common_meta::kv_backend::KvBackendRef; use common_meta::peer::Peer; @@ -139,7 +140,7 @@ impl Drop for RegionSupervisorTicker { pub type RegionSupervisorRef = Arc; /// The default tick interval. -pub const DEFAULT_TICK_INTERVAL: Duration = Duration::from_secs(1); +pub const DEFAULT_TICK_INTERVAL: Duration = Duration::from_millis(HEARTBEAT_INTERVAL_MILLIS); /// The [`RegionSupervisor`] is used to detect Region failures /// and initiate Region failover upon detection, ensuring uninterrupted region service.