From 953a0924f6fec1488487a0871f1d22955d0f1029 Mon Sep 17 00:00:00 2001 From: Rohit Nayak Date: Wed, 17 Feb 2021 10:51:24 +0100 Subject: [PATCH 1/4] Rebuild SrvVSchema after deleting routing rules on MoveTables completion/cancellation Signed-off-by: Rohit Nayak --- go/vt/wrangler/traffic_switcher.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/go/vt/wrangler/traffic_switcher.go b/go/vt/wrangler/traffic_switcher.go index d380fd78835..ab5e026ff3c 100644 --- a/go/vt/wrangler/traffic_switcher.go +++ b/go/vt/wrangler/traffic_switcher.go @@ -676,6 +676,9 @@ func (wr *Wrangler) DropTargets(ctx context.Context, targetKeyspace, workflow st if err := wr.dropArtifacts(ctx, sw); err != nil { return nil, err } + if err := ts.wr.ts.RebuildSrvVSchema(ctx, nil); err != nil { + return nil, err + } return sw.logs(), nil } @@ -750,6 +753,10 @@ func (wr *Wrangler) DropSources(ctx context.Context, targetKeyspace, workflow st if err := wr.dropArtifacts(ctx, sw); err != nil { return nil, err } + if err := ts.wr.ts.RebuildSrvVSchema(ctx, nil); err != nil { + return nil, err + } + return sw.logs(), nil } From f15e388b72bff401eb337535aafb66819ab8ee34 Mon Sep 17 00:00:00 2001 From: Rohit Nayak Date: Wed, 17 Feb 2021 13:07:41 +0100 Subject: [PATCH 2/4] Check that routing rules are deleted in unit test Signed-off-by: Rohit Nayak --- go/vt/wrangler/traffic_switcher_test.go | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/go/vt/wrangler/traffic_switcher_test.go b/go/vt/wrangler/traffic_switcher_test.go index 092ce43fd18..d64545a57ad 100644 --- a/go/vt/wrangler/traffic_switcher_test.go +++ b/go/vt/wrangler/traffic_switcher_test.go @@ -768,7 +768,7 @@ func TestShardMigrateMainflow(t *testing.T) { verifyQueries(t, tme.allDBClients) } -func TestTableMigrateOneToMany(t *testing.T) { +func TestTableMigrateOneToManyX(t *testing.T) { ctx := context.Background() tme := newTestTableMigraterCustom(ctx, t, []string{"0"}, []string{"-80", "80-"}, "select * %s") defer tme.stopTablets(t) @@ -915,10 +915,28 @@ func TestTableMigrateOneToMany(t *testing.T) { } dropSources() + checkRouting(t, tme.wr, map[string][]string{ + "t1": {"ks2.t1"}, + "ks1.t1": {"ks2.t1"}, + "t2": {"ks2.t2"}, + "ks1.t2": {"ks2.t2"}, + "t1@replica": {"ks2.t1"}, + "ks2.t1@replica": {"ks2.t1"}, + "ks1.t1@replica": {"ks2.t1"}, + "t2@replica": {"ks2.t2"}, + "ks2.t2@replica": {"ks2.t2"}, + "ks1.t2@replica": {"ks2.t2"}, + "t1@rdonly": {"ks2.t1"}, + "ks2.t1@rdonly": {"ks2.t1"}, + "ks1.t1@rdonly": {"ks2.t1"}, + "t2@rdonly": {"ks2.t2"}, + "ks2.t2@rdonly": {"ks2.t2"}, + "ks1.t2@rdonly": {"ks2.t2"}, + }) _, err = tme.wr.DropSources(ctx, tme.targetKeyspace, "test", RenameTable, false, false, false) require.NoError(t, err) checkBlacklist(t, tme.ts, fmt.Sprintf("%s:%s", "ks1", "0"), nil) - + checkRouting(t, tme.wr, map[string][]string{}) verifyQueries(t, tme.allDBClients) } From f22119edec4d5e2c557f5ef5eeef0c1ee68f2bfb Mon Sep 17 00:00:00 2001 From: Rohit Nayak Date: Wed, 17 Feb 2021 13:59:40 +0100 Subject: [PATCH 3/4] Fix typo Signed-off-by: Rohit Nayak --- go/vt/wrangler/traffic_switcher_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/go/vt/wrangler/traffic_switcher_test.go b/go/vt/wrangler/traffic_switcher_test.go index d64545a57ad..8a8658c2dfa 100644 --- a/go/vt/wrangler/traffic_switcher_test.go +++ b/go/vt/wrangler/traffic_switcher_test.go @@ -768,7 +768,7 @@ func TestShardMigrateMainflow(t *testing.T) { verifyQueries(t, tme.allDBClients) } -func TestTableMigrateOneToManyX(t *testing.T) { +func TestTableMigrateOneToMany(t *testing.T) { ctx := context.Background() tme := newTestTableMigraterCustom(ctx, t, []string{"0"}, []string{"-80", "80-"}, "select * %s") defer tme.stopTablets(t) From 275e4c851aa218a03b8bbb2d2661a91ee442a92a Mon Sep 17 00:00:00 2001 From: Rohit Nayak Date: Thu, 18 Feb 2021 12:47:21 +0100 Subject: [PATCH 4/4] Refresh all tablets in a shard when updating blacklisted tables Signed-off-by: Rohit Nayak --- go/vt/wrangler/traffic_switcher.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/go/vt/wrangler/traffic_switcher.go b/go/vt/wrangler/traffic_switcher.go index ab5e026ff3c..6e2960a17bd 100644 --- a/go/vt/wrangler/traffic_switcher.go +++ b/go/vt/wrangler/traffic_switcher.go @@ -1109,7 +1109,7 @@ func (ts *trafficSwitcher) changeTableSourceWrites(ctx context.Context, access a }); err != nil { return err } - return ts.wr.tmc.RefreshState(ctx, source.master.Tablet) + return ts.wr.RefreshTabletsByShard(ctx, source.si, nil, nil) }) } @@ -1344,7 +1344,7 @@ func (ts *trafficSwitcher) allowTableTargetWrites(ctx context.Context) error { }); err != nil { return err } - return ts.wr.tmc.RefreshState(ctx, target.master.Tablet) + return ts.wr.RefreshTabletsByShard(ctx, target.si, nil, nil) }) } @@ -1488,7 +1488,7 @@ func (ts *trafficSwitcher) dropSourceBlacklistedTables(ctx context.Context) erro }); err != nil { return err } - return ts.wr.tmc.RefreshState(ctx, source.master.Tablet) + return ts.wr.RefreshTabletsByShard(ctx, source.si, nil, nil) }) }