From 36ea44e8fbe8a03581fd967da2bdda95303c63a9 Mon Sep 17 00:00:00 2001 From: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> Date: Sun, 6 Aug 2023 19:23:06 +0300 Subject: [PATCH] Fix closed channel `panic` in Online DDL cutover (#13729) Signed-off-by: Shlomi Noach <2607934+shlomi-noach@users.noreply.github.com> --- go/vt/vttablet/onlineddl/executor.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/vt/vttablet/onlineddl/executor.go b/go/vt/vttablet/onlineddl/executor.go index 5f6899c6e1d..8277664613c 100644 --- a/go/vt/vttablet/onlineddl/executor.go +++ b/go/vt/vttablet/onlineddl/executor.go @@ -860,7 +860,6 @@ func (e *Executor) cutOverVReplMigration(ctx context.Context, s *VReplStream) er defer lockConn.Exec(ctx, sqlUnlockTables, 1, false) renameCompleteChan := make(chan error) - defer close(renameCompleteChan) renameWasSuccessful := false renameConn, err := e.pool.Get(ctx, nil) if err != nil { @@ -969,6 +968,7 @@ func (e *Executor) cutOverVReplMigration(ctx context.Context, s *VReplStream) er e.updateMigrationStage(ctx, onlineDDL.UUID, "renaming tables") go func() { + defer close(renameCompleteChan) _, err := renameConn.Exec(ctx, renameQuery.Query, 1, false) renameCompleteChan <- err }()