refactor: refactor PeerLookupService and simplify Selector implementations (#6939)

* refactor: move `lease` into `discovery` dir

Signed-off-by: WenyXu <wenymedia@gmail.com>

* feat: introduce discovery components

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor:  simplify selector

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: remove  duplicate peer allocator trait

Signed-off-by: WenyXu <wenymedia@gmail.com>

* chore: apply suggestions

Signed-off-by: WenyXu <wenymedia@gmail.com>

* refactor: minor refactor

Signed-off-by: WenyXu <wenymedia@gmail.com>

* chore: refine comments

Signed-off-by: WenyXu <wenymedia@gmail.com>

---------

Signed-off-by: WenyXu <wenymedia@gmail.com>
This commit is contained in:
Weny Xu
2025-09-10 11:43:46 +08:00
committed by GitHub
parent 2f6da3b718
commit e0ce0a6446
31 changed files with 976 additions and 1059 deletions

View File

@@ -56,6 +56,7 @@ use frontend::server::Services;
use hyper_util::rt::TokioIo;
use meta_client::client::MetaClientBuilder;
use meta_srv::cluster::MetaPeerClientRef;
use meta_srv::discovery;
use meta_srv::metasrv::{Metasrv, MetasrvOptions, SelectorRef};
use meta_srv::mocks::MockInfo;
use object_store::config::ObjectStoreConfig;
@@ -316,11 +317,14 @@ impl GreptimeDbClusterBuilder {
expected_datanodes: usize,
) {
for _ in 0..100 {
let alive_datanodes =
meta_srv::lease::alive_datanodes(meta_peer_client, Duration::from_secs(u64::MAX))
.await
.unwrap()
.len();
let alive_datanodes = discovery::utils::alive_datanodes(
meta_peer_client.as_ref(),
Duration::from_secs(u64::MAX),
None,
)
.await
.unwrap()
.len();
if alive_datanodes == expected_datanodes {
return;
}