I encountered a problem when using gh-ost to alter primary key , Please help me
メンテナーはふだん 10 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
ソースファイル、テスト、エントリーポイントのいずれも指定されていません。提供された gh-ost コマンド、テーブル定義、主キー重複エラーから始め、レプリカを使用する MySQL 5.7 Aurora での再現を調査してください。原因を特定し、検証済みの解決策または焦点を絞ったコード変更を文書化できれば完了です。
索引モデルが issue の本文から書いたものです。
説明
This is the command:
gh-ost -allow-on-master -assume-rbr -exact-rowcount -initially-drop-ghost-table -initially-drop-old-table -initially-drop-socket-file -critical-load-hibernate-seconds 60 -database xxx -nice-ratio 0.1 -chunk-size 3888 -ask-pass -table ixxx_logging -user username -host host1 -alter 'ALTER TABLE ixxx_logging MODIFY COLUMN id varchar(50) NOT NULL' -verbose -execute 2>&1 | tee gh-ost.log
DB: 5.7.mysql_aurora.2.11.1 . This db has five slaves.
TABLE :
CREATE TABLE ixxx_logging (
id bigint(20) NOT NULL AUTO_INCREMENT,
x9 VARCHAR(32),
x8 VARCHAR(32),
x7 INT DEFAULT 0,
x6 INT DEFAULT 0,
x5 INT DEFAULT 1,
x4 VARCHAR(2) DEFAULT 0,
x3 timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
x2 TIMESTAMP timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP ,
x1 DATETIME DEFAULT null,
xxxxx1 VARCHAR(1000),
xxxx9 VARCHAR(32),
xxxx8 VARCHAR(32),
xxxx7 VARCHAR(70),
xxxx6 INT DEFAULT 0,
xxxx5 VARCHAR(1) DEFAULT 0,
xxxx4 VARCHAR(1) DEFAULT 0,
xxxx3 VARCHAR(256),
xxxx2 VARCHAR(256),
xxx1 VARCHAR(1) DEFAULT 0,
bb1 VARCHAR(10),
bb2 CHAR(30),
bb3 VARCHAR(30),
bb4 VARCHAR(2) DEFAULT 0,
bb5 VARCHAR(100) DEFAULT null,
bb6 VARCHAR(100) DEFAULT null,
bb7 VARCHAR(20) DEFAULT null,
PRIMARY KEY (id) USING BTREE,
KEY idx_x9 (x9) USING BTREE,
KEY idx_x8 (x8) USING BTREE,
KEY idx_x3 (x3)
) ENGINE=InnoDB AUTO_INCREMENT=2694513087735591693 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;
error:
2023-08-15 02:16:06 ERROR Error 1062: Duplicate entry '26945130xxxx5506529' for key 'PRIMARY'; query=
update /* gh-ost schema1._ixxx_logging_gho */
schema1._ixxx_logging_gho
set
id=?, x9=?, x8=?, x7=?, x6=?, x5=?, x3=?, ....
where
((id = ?));
args=[26945130xxxx5506529 242920747xxx526657 242920747xxx526657 2 2 1 9D0C49xxxx08118 2024-08-14 01:37:07 0 0 1 2 2023-08-15 01:37:11 +0000 UTC 2023-08-15 01:44:57 +0000 UTC 0 0 2694513087xxxx06524 242920747xxx526657 26945130xxxx5506529]
- 主要言語
- Go
- スター
- 13.6k
- フォーク
- 1.4k
- 平均マージ
- 9日 19時間
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
github/gh-ost のほかの issue
-
`--resume` without `--execute` drops the ghost table it correctly skipped altering対応中かも @ajm188 が 55 日前に担当しました。 オープン
難易度 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
github/gh-ost#1431 · コメント 4 件 ·
メンテナーはふだん 10 日以内に返信
-
Migration hangs when --attempt-instant-ddl succeeds対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 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対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 52/100
github/gh-ost#1780 · コメント 1 件 ·
メンテナーはふだん 10 日以内に返信
似ている issue
-
難易度 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 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
betterleaks/betterleaks#484 ·
メンテナーはふだん 1 日以内に返信