diff --git a/src/common/meta/src/ddl/create_table.rs b/src/common/meta/src/ddl/create_table.rs index 103e85c009..a3e02d2e04 100644 --- a/src/common/meta/src/ddl/create_table.rs +++ b/src/common/meta/src/ddl/create_table.rs @@ -195,9 +195,8 @@ impl CreateTableProcedure { // Safety: the table route must be allocated. match self.table_route()?.clone() { TableRouteValue::Physical(x) => { - let region_routes = x.region_routes.clone(); let request_builder = self.new_region_request_builder(None)?; - self.create_regions(®ion_routes, request_builder).await + self.create_regions(&x.region_routes, request_builder).await } TableRouteValue::Logical(x) => { let physical_table_id = x.physical_table_id(); @@ -288,9 +287,8 @@ impl CreateTableProcedure { self.creator.data.state = CreateTableState::CreateMetadata; - // Ensures the procedures after the crash start from the `DatanodeCreateRegions` stage. // TODO(weny): Add more tests. - Ok(Status::executing(false)) + Ok(Status::executing(true)) } /// Creates table metadata diff --git a/src/meta-srv/src/procedure/tests.rs b/src/meta-srv/src/procedure/tests.rs index d40ca633ff..6d1687d205 100644 --- a/src/meta-srv/src/procedure/tests.rs +++ b/src/meta-srv/src/procedure/tests.rs @@ -237,7 +237,7 @@ async fn test_on_datanode_create_regions() { }); let status = procedure.on_datanode_create_regions().await.unwrap(); - assert!(matches!(status, Status::Executing { persist: false })); + assert!(matches!(status, Status::Executing { persist: true })); assert!(matches!( procedure.creator.data.state, CreateTableState::CreateMetadata