h5n1
(H5n1)
1
v7.1.2 复现步骤
场景一:
1、 以BDR模式 bdr-mode = true 创建changfeed
2、源端、目标段创建表,源端插入数据,数据正常同步到目标端
3、源端drop table后重建,插入数据后不能进行同步。其他表也不能同步,cdc 任务状态正常。
非BDR模式在上面场景同步没有问题
cdc.txt (8.3 KB)
另外这里有个问题就是 查找ddl操作的tso, admin show ddl jobs显示不出来,需要去日志翻,很是不方便
场景二:
目标端更改tidb_source_id与源端不一致后,CDC不能同步
cdc.log没有报错信息。
bdr-mode = true
[filter]
rules = [‘sbtest.*’]
[mounter]
worker-num = 24
非常感谢您的反馈,我们在调查这个问题,稍后给您反馈。
h5n1
(H5n1)
3
场景三:
1、目标库提前创建好sysbench的初始化表
2、源库使用sysbench 初始化几张表(建表+插入数据)
3、如果在源库sysbench prepare命令执行前先创建changefeed则插入的数据不能同步到目标库。
4、如果是在sysbench prepare完成create table后开始插入数据时创建changfeed 则数据能同步,只不过由于默认的同步开始ts为当前时间会导致同步过去的数据不完整。
- 针对场景一 ,我经过测试得出的结果如下
1. 上下游先建好 t1,t2, t3 三张表
2. 创建 changefeed,开启 bdr 模式,从源端同步到目标端
3. 插入数据到 t1 ,正常同步
4. drop table t2
5. 继续插入数据到 t1,t3正常同步 ( drop t2 不会影响 t1)
6. drop table t1
7. create table t1
8. 插入数据到 t1, 无法正常同步
9.插入数据到 t3, 正常同步(drop t1 不会影响 t3)
9. pause + resume changefeed ,恢复正常同步
场景 1 目前已找到问题,在修复中。
场景 2 未复现出来,请问能够提供详细的执行步骤吗?
我是这么做的:
- 搭建上下游
- 创建 changefeed 开启 bdr 模式
- 更改上游 sourceID 为 6,下游改为 7
- 在上游插入数据
- 下游能够看到数据正常插入
h5n1
(H5n1)
6
先改source_id,然后创建changefeed 。
h5n1
(H5n1)
8
今天用7.1.3测试前面描述的几个场景 目前没发现问题