You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
--attempt-instant-ddl leaves behind _gho table when INSTANT DDL succeeds #1773
gh-ost version: 1.1.8 ~ 1.1.11
MySQL version: AWS Aurora MySQL 8.0.42
Description
When --attempt-instant-ddl is enabled and the ALTER can be executed with ALGORITHM=INSTANT, gh-ost succeeds but leaves behind the ghost table _xxx_gho.
This is not caused by an unexpected interruption. The process exits normally with Success! table ... migrated instantly, but the _gho table is not dropped.
Steps to reproduce
Run gh-ost with --attempt-instant-ddl on an ALTER that MySQL can execute instantly:
2026-09-21 12:06:19 INFO rotate to next log from mysql-bin-changelog.062254:0 to mysql-bin-changelog.062254
2026-09-21 12:06:59 INFO Ghost table created
2026-09-21 12:06:59 INFO Altering ghost table `testdb1`.`_xxx_gho`
[2026/09/21 12:07:06] [info] binlogsyncer.go:868 rotate to (mysql-bin-changelog.062255, 4)
[2026/09/21 12:07:06] [info] binlogsyncer.go:868 rotate to (mysql-bin-changelog.062255, 4)
2026-09-21 12:07:06 INFO rotate to next log from mysql-bin-changelog.062255:134260707 to mysql-bin-changelog.062255
2026-09-21 12:07:06 INFO rotate to next log from mysql-bin-changelog.062255:0 to mysql-bin-changelog.062255
2026-09-21 12:07:21 INFO Ghost table altered
2026-09-21 12:07:21 INFO Intercepted changelog state GhostTableMigrated
2026-09-21 12:07:21 INFO Attempting to execute alter with ALGORITHM=INSTANT
2026-09-21 12:07:21 INFO INSTANT DDL query is: ALTER /* gh-ost */ TABLE `testdb1`.`xxx` ADD COLUMN id4 INT COMMENT 'a', ALGORITHM=INSTANT
2026-09-21 12:07:21 INFO Setting LOCK timeout as 6 seconds
2026-09-21 12:07:43 INFO Writing changelog state: Migrated
[2026/09/21 12:07:43] [info] binlogsyncer.go:225 syncer is closing...
[2026/09/21 12:07:43] [error] binlogstreamer.go:78 close sync with err: sync is being closed...
[2026/09/21 12:07:43] [info] binlogsyncer.go:988 kill last connection id 3564563
[2026/09/21 12:07:43] [info] binlogsyncer.go:255 syncer is closed
2026-09-21 12:07:43 INFO Closed streamer connection. err=<nil>
2026-09-21 12:07:43 INFO Dropping table `testdb1`.`_xxx_ghc`
2026-09-21 12:07:44 INFO Table dropped
2026-09-21 12:07:44 INFO Dropping table `testdb1`.`_xxx_del`
2026-09-21 12:07:44 INFO Table dropped
2026-09-21 12:07:44 INFO Dropping table `testdb1`.`_xxx_ghk`
2026-09-21 12:07:44 INFO Table dropped
2026-09-21 12:07:44 INFO Success! table `testdb1`.`xxx` migrated instantly
2026-09-21 12:07:44 INFO Tearing down inspector
2026-09-21 12:07:44 INFO Tearing down applier
2026-09-21 12:07:44 INFO Tearing down streamer
# Done
Activity