--attempt-instant-ddl caused process hangs

Ouverte
#1,774 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 10 jours

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
55/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
go, mysql
Domaine
databases

Piste de recherche

Start by running the supplied gh-ost command against Aurora MySQL 8.0.42 and trace shutdown after the “syncer is closing” and “kill last connection” log lines. Reproduce the hang and identify why the process remains alive with an open MySQL connection; done means the process exits and the connection closes after a successful instant DDL.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

gh-ost 1.1.11
aws aurora mysql 8.0.42

when --attempt-instant-ddl succeeds, the process sometimes does not exit. The binlog syncer starts closing, and the last connection is killed, but the gh-ost process remains alive and the MySQL connection stays open until it is manually interrupted.

cmd

./gh-ost --user=root --password='xx' --host=xxx.rds.amazonaws.com --port=3306 \
--database=testdb1 --table=xxx \
--alter="ADD COLUMN id4 INT COMMENT 'a'" \
--assume-master-host=xxx:3306 --default-retries=60 \
--cut-over=atomic --ok-to-drop-table --assume-rbr --allow-on-master \
--max-load=Threads_running=300 --critical-load=Threads_running=3000 \
--chunk-size=2000 --max-lag-millis=2000 \
--skip-metadata-lock-check \
--verbose --execute --attempt-instant-ddl --nice-ratio=0

log

2026-09-21 11:57:09 INFO Applier initiated on ip-xxx:3306, version 8.0.42
2026-09-21 11:57:09 INFO Acquired migration lock gh-ost::testdb1.xxx
2026-09-21 11:57:09 INFO Dropping table `testdb1`.`_xxx_ghc`
2026-09-21 11:57:09 INFO Table dropped
2026-09-21 11:57:09 INFO Creating changelog table `testdb1`.`_xxx_ghc`
2026-09-21 11:57:09 INFO Changelog table created
2026-09-21 11:57:09 INFO Creating ghost table `testdb1`.`_xxx_gho`
2026-09-21 11:57:30 INFO Ghost table created
2026-09-21 11:57:30 INFO Altering ghost table `testdb1`.`_xxx_gho`
2026-09-21 11:57:36 INFO Ghost table altered
2026-09-21 11:57:36 INFO Intercepted changelog state GhostTableMigrated
2026-09-21 11:57:36 INFO Attempting to execute alter with ALGORITHM=INSTANT
2026-09-21 11:57:36 INFO INSTANT DDL query is: ALTER /* gh-ost */ TABLE `testdb1`.`xxx` ADD COLUMN id4 INT COMMENT 'a', ALGORITHM=INSTANT
2026-09-21 11:57:36 INFO Setting LOCK timeout as 6 seconds
2026-09-21 11:57:46 INFO Writing changelog state: Migrated
2026/09/21 11:57:46 INFO syncer is closing...
2026/09/21 11:57:46 INFO kill last connection id=3564340



# I used Ctrl+C to cancel it.
^C
Langage dominant
Go
Étoiles
13.6k
Forks
1.4k
Merge moyen
9 j 19 h
PR mergées (30 j)
1

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de github/gh-ost

Toutes les issues de github/gh-ost

Issues similaires

Plus d'issues Go

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.