Hello StarRocks team,
We are performing a cross-cluster migration from a shared-nothing StarRocks cluster to a shared-data (S3) cluster, and we are running into a blocking issue when using the official starrocks-cluster-sync tool.
Source cluster:
-
Type: shared-nothing
-
Version: (current production, please note exact build if needed)
Uses rack-aware placement:
“labels.location” = “rack:rack_a,rack:rack_b,rack:rack_c”,
“replication_num” = “3”,
“replicated_storage” = “true”
Target cluster:
-
-
Type: shared-data (S3)
-
Version: 4.0.0-dccb665
-
3 Compute Nodes (CNs)
-
Shared storage on S3
-
Does not support
ALTER SYSTEM MODIFY BACKEND ... SET ("tag.location" = "...")
-
Problem:
During migration, the tool fails to create tables on the target cluster with the following error:
java.sql.SQLSyntaxErrorException: Getting analyzing error. Detail message: Cannot find any backend with location: rack:rack_a.
This happens because the target shared-data cluster does not expose rack labels or support rack-based replica placement, so any CREATE TABLE statement containing "labels.location", "replication_num", or "replicated_storage" is rejected.
Even with three CNs, the issue persists because shared-data clusters do not have rack topology metadata.
What we need:
A version of starrocks-cluster-sync that can automatically detect when the target cluster is shared-data (S3) and strip the following properties from all CREATE TABLE statements before executing them:
-
"labels.location" -
"replication_num" -
"replicated_storage"
Expected behavior:
-
Tool should create all databases and tables successfully on a shared-data target, even when source DDLs contain rack/replication properties.
-
Tool should continue syncing data and routine jobs as usual after schema creation.
Actual behavior:
- Tool stops with
Cannot find any backend with location: rack:rack_aduring CREATE TABLE.
Could you please confirm if such a build already exists (or if there is an internal branch or upcoming release that includes this feature)?
If not, can you provide guidance on obtaining or building a compatible version of starrocks-cluster-sync that supports shared-data targets?
Thank you,
Boyan Bonev