-
Notifications
You must be signed in to change notification settings - Fork 132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
同一个库下不同表进行同步的时候,如果参数SkipCreateDbTable未配置,会由于MDL锁hang住整个库 #1060
Comments
源端和目标端为同一MySQL实例时有该问题。 snapshot事务从长期来看是可以去除的。但尚需考虑各种情况。 |
MySQL 8.0.32 为复现该问题, 可能是8.0允许 snapshot存在是执行此类DDL. Case 2 但触发如下逻辑导致增量不复制
简单移除sid检测机制会导致无限循环.
现状
方案1
问题
gtid断点方案: 填补in-memory gtid断点, 上传consul (非实时更新)
|
任务初始建表会造成循环复制. 方案
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
同一个库下不同表进行同步的时候,如果参数SkipCreateDbTable未配置,会由于MDL锁hang住整个库
复制结构:
实例:MySQL-A -- > MySQL-A
库:yqtest -- > yqtest
表:sbtest2 --> sbtest2_new
Steps to reproduce the issue
2.DTLE迁移配置信息如下:
3.启动job
curl -XPOST 127.0.0.1:4646/v1/jobs -d @db_sync_test.json| jq
Describe the results you received
Output of
./dtle version
:**版本:4.23.04.2-4.23.04.x-25ab378
Additional information
MySQL general_log
关键在于开启了事务,还在执行中执行了DDL
疑问:
既然在同步初始阶段就开启了 Binlog Dump GTID,而回放机制是 replace into ,还有没有必要开启 SNAPSHOT 获取一致性读
The text was updated successfully, but these errors were encountered: