jenwit
04/22/2026, 1:46 AMpublic void createWarehouse(CreateWarehouseStmt stmt) throws DdlException {
throw new DdlException("Multi-Warehouse is not implemented");
}Rocky
04/22/2026, 1:46 AMDdlException because, in StarRocks 4.1.0, the architectural support for Multi-Warehouse is fully present, but the SQL DDL syntax (CREATE WAREHOUSE) is still a placeholder in certain deployment modes or is being transitioned from infrastructure-level management to SQL-level management.
Here is the breakdown of the current status in version 4.1.0:
1. Multi-Warehouse IS supported (Architecturally)
Even if that specific CREATE WAREHOUSE command throws an error, StarRocks 4.1.0 has introduced significant Multi-Warehouse features:
* Resource Group Binding: You can now bind Resource Groups to specific warehouses using the warehouses attribute. This allows you to isolate CPU and memory resources between different sets of compute nodes (CNs).
* System Observability: New system views like information_schema.warehouse_metrics and information_schema.warehouse_queries are available to monitor performance across different compute clusters.
* Session Management: You can use SET warehouse = 'your_warehouse_name'; to route your session's queries to a specific compute group, and check the current one using the current_warehouse() function.
2. Why the DDL says "Not Implemented"
In the current version, "Warehouses" are primarily defined as logical groupings of Compute Nodes (CNs).
* How they are "Created": Instead of a SQL CREATE WAREHOUSE command, warehouses are typically established at the deployment level. You deploy a set of CN nodes and assign them a warehouse name (via configuration or labels).
* The Future: The CREATE WAREHOUSE DDL you found in the code is the planned way to manage these clusters entirely via SQL (including scaling and lifecycle), similar to other cloud-native warehouses. While the engine supports the isolation today, the unified SQL management for creating them is still being finalized.
3. How to use Multi-Warehouse in 4.1.0
If you want to leverage multi-warehouse capabilities today, you should focus on Resource Groups:
sql
-- You can now bind resource groups to specific warehouses in 4.1.0
ALTER RESOURCE GROUP your_group_name
PROPERTIES (
"warehouses" = "analytics_warehouse",
"cpu_weight_percent" = "50"
);
Summary:
Don't let that code snippet discourage you! The compute isolation and multi-tenant management are very much "implemented" and are core highlights of the 4.1.0 release. The error you found simply means that for now, you define the "Warehouse" by grouping your nodes at the infrastructure/config level rather than using that specific SQL statement.
If you are looking to set up a multi-warehouse environment on a shared-data (Lake) cluster, I'd recommend checking the latest Resource Group documentation for 4.1, as that is where the "Warehouse" attributes are now managed.
References
• sql-reference/sql-statements/backup_restore/CREATE_REPOSITORY.md
• sql-reference/sql-statements/cluster-management/resource_group/CREATE_RESOURCE_GROUP.md
• sql-reference/sql-statements/Resource/CREATE_RESOURCE.mdjenwit
04/22/2026, 1:48 AMahn heesuk
05/11/2026, 7:57 AM