From d75cf864671f8de0f9f3e3b35af26e0ae615af80 Mon Sep 17 00:00:00 2001 From: Weny Xu Date: Tue, 23 Jan 2024 18:42:32 +0900 Subject: [PATCH] fix: only register region keeper while creating physical table (#3223) fix: only register region keeper during create physical table --- src/common/meta/src/ddl/create_table.rs | 14 ++++++++------ tests-integration/src/cluster.rs | 5 ++++- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/src/common/meta/src/ddl/create_table.rs b/src/common/meta/src/ddl/create_table.rs index 1fe354d63d..ca9ac1e0b0 100644 --- a/src/common/meta/src/ddl/create_table.rs +++ b/src/common/meta/src/ddl/create_table.rs @@ -232,12 +232,14 @@ impl CreateTableProcedure { region_routes: &[RegionRoute], request_builder: CreateRequestBuilder, ) -> Result { - // Registers opening regions - let guards = self - .creator - .register_opening_regions(&self.context, region_routes)?; - if !guards.is_empty() { - self.creator.opening_regions = guards; + if self.creator.data.table_route.is_physical() { + // Registers opening regions + let guards = self + .creator + .register_opening_regions(&self.context, region_routes)?; + if !guards.is_empty() { + self.creator.opening_regions = guards; + } } let create_table_data = &self.creator.data; diff --git a/tests-integration/src/cluster.rs b/tests-integration/src/cluster.rs index ff2854a559..986bb0f666 100644 --- a/tests-integration/src/cluster.rs +++ b/tests-integration/src/cluster.rs @@ -53,6 +53,7 @@ use servers::Mode; use tempfile::TempDir; use tonic::transport::Server; use tower::service_fn; +use uuid::Uuid; use crate::test_util::{ self, create_datanode_opts, create_tmp_dir_and_datanode_opts, FileDirGuard, StorageGuard, @@ -96,7 +97,9 @@ impl GreptimeDbClusterBuilder { let backend = EtcdStore::with_endpoints(endpoints) .await .expect("malformed endpoints"); - Arc::new(ChrootKvBackend::new(cluster_name.into(), backend)) + // Each retry requires a new isolation namespace. + let chroot = format!("{}{}", cluster_name, Uuid::new_v4()); + Arc::new(ChrootKvBackend::new(chroot.into(), backend)) }; Self {