Skip to content

Commit b6f2f42

Browse files
xfan0805iSecloud
authored andcommitted
fix: partition_create_run TencentBlueKing#10076
1 parent f7abde3 commit b6f2f42

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

dbm-ui/backend/db_services/partition/handlers.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,27 @@ def create_and_dry_run_partition(cls, user: str, create_data: Dict):
7171
@param user: 操作者
7272
@param create_data: 分区策略数据
7373
"""
74-
74+
# 针对直接调用接口做规则检查
75+
# 不符合规则的抛出异常,配置不会写入分区配置表
76+
cls.verify_partition_field(
77+
bk_biz_id=create_data["bk_biz_id"],
78+
cluster_id=create_data["cluster_id"],
79+
dblikes=create_data["dblikes"],
80+
tblikes=create_data["tblikes"],
81+
partition_column=create_data["partition_column"],
82+
partition_column_type=create_data["partition_column_type"],
83+
)
7584
# 创建分区策略
7685
try:
7786
partition = DBPartitionApi.create_conf(params=create_data)
7887
except (ApiRequestError, ApiResultError) as e:
7988
raise DBPartitionCreateException(_("分区管理创建失败,创建参数:{}, 错误信息: {}").format(create_data, e))
8089

8190
# 如果不需要分区执行的数据,则默认直接返回分区创建数据
82-
need_dry_run = create_data.pop("need_dry_run", True)
91+
# need_dry_run = create_data.pop("need_dry_run", True)
92+
create_data.pop("need_dry_run", True)
93+
# 默认创建分区配置就立即初始化 此处用编码为True
94+
need_dry_run = True
8395
if not need_dry_run:
8496
return partition
8597

@@ -98,6 +110,8 @@ def create_and_dry_run_partition(cls, user: str, create_data: Dict):
98110
for res in results:
99111
config__id_result.update(res)
100112

113+
# 创建分区配置立即初始化,硬编码为True
114+
create_data["auto_commit"] = True
101115
# 如果不需要创建分区单据,则返回分区执行数据
102116
if not create_data["auto_commit"]:
103117
return config__id_result

0 commit comments

Comments
 (0)