4paradigm / 4paradigm/OpenMLDB

If there is data in the table but not synced to ns yet, then deploying a new index can be successful

未关闭
#1,116 2 条评论 0 个 reaction 已指派 1 人 已被 @dl239 认领 在 GitHub 查看
bug storage-engine
主要语言
C++
星标
1.7k
派生
331
平均合并
12 天 12 小时
30 天内合并 PR
1

描述

If there is data in the table, deploy a new index
If the execution is too fast, no data in the table is detected during creation, resulting in successful deployment

## Expected Behavior
ERROR: table auto_BPpPCNYd has online data, cannot deploy. please drop this table and create a new one

## Case
```yaml
-
id: 24
desc: 表有数据,deploy创建新索引
mode: standalone-unsupport
inputs:
-
columns : ["id int","c1 string","c3 int","c4 bigint","c5 float","c6 double","c7 timestamp","c8 date"]
indexs: ["index1:c3:c7"]
rows:
- [1,"aa",20,30,1.1,2.1,1590738990000,"2020-05-01"]
- [2,"aa",21,31,1.2,2.2,1590738990001,"2020-05-02"]
- [3,"aa",22,32,1.3,2.3,1590738990002,"2020-05-03"]
- [4,"aa",23,33,1.4,2.4,1590738990003,"2020-05-04"]
- [5,"aa",24,34,1.5,2.5,1590738990004,"2020-05-05"]
sqls:
- deploy deploy_{0} SELECT id, c1, sum(c4) OVER w1 as w1_c4_sum FROM {0} WINDOW w1 AS (PARTITION BY {0}.c1 ORDER BY {0}.c7 ROWS BETWEEN 2 PRECEDING AND 1 PRECEDING);
expect:
success: false
```

贡献指南

打开贡献指南

调研方向

The issue describes a race condition where a new index deployment succeeds if table data hasn't synced to the namespace (ns) yet. Look at the deployment logic and data detection mechanisms, likely in the index creation or table sync code. The test case in the issue body provides a specific SQL and data scenario to reproduce. Start by understanding how the system checks for 'online data' during index deployment and where the sync timing window exists.

由索引模型根据 Issue 内容生成。

评估

技术栈
sql
领域
databases, machine-learning
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。