I encountered a problem when using gh-ost to alter primary key , Please help me
Maintainer antworten meist innerhalb von 10 Tagen
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Keine Quelldatei, kein Test und kein Einstiegspunkt ist angegeben. Beginne mit dem bereitgestellten gh-ost-Befehl, der Tabellendefinition und dem Fehler wegen eines doppelten Primärschlüssels und untersuche die Reproduktion unter MySQL 5.7 Aurora mit Replikas; abgeschlossen ist die Untersuchung, wenn die Ursache festgestellt und eine verifizierte Lösung oder eine fokussierte Codeänderung dokumentiert wurde.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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]
- Vorherrschende Sprache
- Go
- Sterne
- 13.6k
- Forks
- 1.4k
- Ø Merge
- 9 T. 19 Std.
- Gemergte PRs (30 T.)
- 1
Entwicklungsumgebung
- Enthält ein Dockerfile oder eine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus github/gh-ost
-
`--resume` without `--execute` drops the ghost table it correctly skipped alteringEvtl. vergeben @ajm188 hat das vor 56 Tagen übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 86/100
Maintainer antworten meist innerhalb von 10 Tagen
-
[Suggestion] Apply simple validation to alter commandEvtl. vergeben @drkemp187 hat das vor 106 Tagen übernommen. Offenenhancement good first issue
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 64/100
github/gh-ost#1431 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 10 Tagen
-
Migration hangs when --attempt-instant-ddl succeedsEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 30/100
Maintainer antworten meist innerhalb von 10 Tagen
-
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 42/100
Maintainer antworten meist innerhalb von 10 Tagen
-
Atomic cut-over always fails on MySQL 9.1+: information_schema.processlist errors out (3854) while another session runs a non-BMP utf8mb4 statementEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 52/100
github/gh-ost#1780 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 10 Tagen
Ähnliche Issues
-
[Docs] Four internal links return 404 (Models concept, Contributing to Docs, Providers reference)Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
meshery/meshery#23520 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 1 Tag
-
flaky: execenv TestRelayControlledCancelAndDirectParentDeath reads an empty pid file under loadOffen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 70/100
SocialGouv/iterion#3263 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Container registry refuses image names with "__" or "--" (NAME_INVALID), which the OCI distribution spec allows since v1.1.0Evtl. vergeben @lazerg hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 62/100
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 75/100
itadori26/trisse-home#226 ·
Maintainer antworten meist innerhalb von 1 Tag