From f084034e7a2b7e3f7ff8dc4affa785f04ab553c1 Mon Sep 17 00:00:00 2001 From: Daniel Joos Date: Wed, 17 Jun 2026 15:07:20 +0200 Subject: [PATCH] Small fixes in move-tables config initialization --- go/base/context.go | 10 ++++++++-- go/cmd/gh-ost/main.go | 7 ------- go/logic/applier.go | 4 ++-- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/go/base/context.go b/go/base/context.go index 2b206857a..df38199e5 100644 --- a/go/base/context.go +++ b/go/base/context.go @@ -983,8 +983,14 @@ func (mctx *MigrationContext) ApplyCredentials() { Hostname: mctx.MoveTables.TargetHost, Port: mctx.MoveTables.TargetPort, }) - mctx.MoveTables.ConnectionConfig.User = mctx.MoveTables.TargetUser - mctx.MoveTables.ConnectionConfig.Password = mctx.MoveTables.TargetPass + if mctx.MoveTables.TargetUser != "" { + // Override + mctx.MoveTables.ConnectionConfig.User = mctx.MoveTables.TargetUser + } + if mctx.MoveTables.TargetPass != "" { + // Override + mctx.MoveTables.ConnectionConfig.Password = mctx.MoveTables.TargetPass + } } } diff --git a/go/cmd/gh-ost/main.go b/go/cmd/gh-ost/main.go index 6222fe1fa..4009fb146 100644 --- a/go/cmd/gh-ost/main.go +++ b/go/cmd/gh-ost/main.go @@ -383,13 +383,6 @@ func main() { // For now, we only support moving a single table at a time. log.Fatal("--move-tables currently supports only a single table") } - - if migrationContext.MoveTables.TargetUser == "" { - migrationContext.MoveTables.TargetUser = migrationContext.CliUser - } - if migrationContext.MoveTables.TargetPass == "" { - migrationContext.MoveTables.TargetPass = migrationContext.CliPassword - } if migrationContext.MoveTables.TargetDatabase == "" { migrationContext.MoveTables.TargetDatabase = migrationContext.DatabaseName } diff --git a/go/logic/applier.go b/go/logic/applier.go index b420cb0d6..bf4d208da 100644 --- a/go/logic/applier.go +++ b/go/logic/applier.go @@ -197,11 +197,11 @@ func buildMigrationLockName(db, table string) string { // preventing two gh-ost processes from migrating the same table concurrently // on the same MySQL server. func (apl *Applier) AcquireMigrationLock(ctx context.Context) error { - lockName := buildMigrationLockName(apl.migrationContext.DatabaseName, apl.originalTableName()) + lockName := buildMigrationLockName(apl.migrationContext.GetTargetDatabaseName(), apl.originalTableName()) // Use a dedicated *sql.DB so the pinned connection does not consume a // slot in apl.db's small pool (mysql.MaxDBPoolConnections). - lockURI := apl.connectionConfig.GetDBUri(apl.migrationContext.DatabaseName) + lockURI := apl.connectionConfig.GetDBUri(apl.migrationContext.GetTargetDatabaseName()) lockDB, err := gosql.Open("mysql", lockURI) if err != nil { return fmt.Errorf("failed to open migration lock DB: %w", err)