Replica HA_ERR_FOUND_DUPP_KEY after migration-on-replica cutover
维护者通常 10 天内回复
还没有人认领这个 Issue。
评估
调研方向
首先,使用 issue 中描述的命令和并发事务,通过 MySQL 8.0.41 和 gh-ost 1.1.7 重现 migration-on-replica cutover。跟踪报告的 HA_ERR_FOUND_DUPP_KEY 错误附近的 cutover 和副本行为;完成的标准是确定原因,并在不破坏 migration-on-replica cutover 的情况下防止副本失败。
由索引模型根据 Issue 内容生成。
描述
I am doing table migration with gh-ost with migration-on-replica and there is transactions being processed at same time.
After cutover, there is replica failure.
Error message:
Duplicate entry '0' for key 'transaction.PRIMARY', Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY
MySQL Version: 8.0.41-commercial
gh-ost Version: 1.1.7 (git commit: 41e72706c8caac24dc8225758eb688aae69a0ce8)
Command
./gh-ost \
-migrate-on-replica \
-ssl-allow-insecure \
-ssl \
-max-load=Threads_running=25 \
-critical-load=Threads_running=1000 \
-chunk-size=1000 \
-max-lag-millis=1500 \
-user="ghost" \
-password="xxxx" \
-host=slave-ip \
-port=3306 \
-database="transaction" \
-table="transaction" \
-verbose \
-initially-drop-ghost-table \
-initially-drop-old-table \
-alter="CHANGE ID ID BIGINT unsigned not null auto_increment" \
-cut-over=default \
-exact-rowcount \
-concurrent-rowcount \
-default-retries=120 \
-panic-flag-file=/tmp/ghost.panic.flag \
-postpone-cut-over-flag-file=./ghost.postpone.flag \
-execute
- 主要语言
- Go
- 星标
- 13.6k
- 派生
- 1.4k
- 平均合并
- 9 天 19 小时
- 30 天内合并 PR
- 1
环境准备
- 提供 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
github/gh-ost 的其他 Issue
-
`--resume` without `--execute` drops the ghost table it correctly skipped altering可能已有人在做 @ajm188 于 56 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 86/100
维护者通常 10 天内回复
-
[Suggestion] Apply simple validation to alter command可能已有人在做 @drkemp187 于 106 天前认领。 未关闭enhancement good first issue
难度 2/5 1-3 小时 新手友好度 64/100
维护者通常 10 天内回复
-
Migration hangs when --attempt-instant-ddl succeeds可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 3-5 天 新手友好度 30/100
维护者通常 10 天内回复
-
难度 4/5 3-5 天 新手友好度 42/100
维护者通常 10 天内回复
-
Atomic cut-over always fails on MySQL 9.1+: information_schema.processlist errors out (3854) while another session runs a non-BMP utf8mb4 statement可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 4/5 3-5 天 新手友好度 52/100
维护者通常 10 天内回复
相似的 Issue
-
type:bug
难度 2/5 1-3 小时 新手友好度 72/100
nightgauge/nightgauge#3266 ·
维护者通常 1 天内回复
-
area: ai-models priority: normal
难度 2/5 1-3 小时 新手友好度 68/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 85/100
prime-radiant-inc/evener#6325 ·
维护者通常 1 天内回复
-
team:library-maintainers
难度 2/5 1-3 小时 新手友好度 82/100
padok-team/burrito#1208 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 62/100
bazel-contrib/rules_go#4784 · 1 条评论 ·
维护者通常 1 天内回复