diff --git a/go/test/endtoend/vreplication/helper.go b/go/test/endtoend/vreplication/helper.go index 2dfc3467a93..1aee1dba6ee 100644 --- a/go/test/endtoend/vreplication/helper.go +++ b/go/test/endtoend/vreplication/helper.go @@ -242,13 +242,13 @@ func expectNumberOfStreams(t *testing.T, vtgateConn *mysql.Conn, name string, wo } } -func printShardPositions(vc *VitessCluster, ksShards []string) { +func printShardPositions(vc *VitessCluster, ksShards []string, msg string) { for _, ksShard := range ksShards { output, err := vc.VtctlClient.ExecuteCommandWithOutput("ShardReplicationPositions", ksShard) if err != nil { fmt.Printf("Error in ShardReplicationPositions: %v, output %v", err, output) } else { - fmt.Printf("Position of %s: %s", ksShard, output) + fmt.Printf("%s: Position of %s: %s", msg, ksShard, output) } } } diff --git a/go/test/endtoend/vreplication/vreplication_test.go b/go/test/endtoend/vreplication/vreplication_test.go index bbbe9e14766..612db640e82 100644 --- a/go/test/endtoend/vreplication/vreplication_test.go +++ b/go/test/endtoend/vreplication/vreplication_test.go @@ -192,6 +192,7 @@ func insertMoreCustomers(t *testing.T, numCustomers int) { // FIXME: if testReverse if false we don't dropsources and that creates a problem later on in the test due to existence of blacklisted tables func shardCustomer(t *testing.T, testReverse bool, cells []*Cell, sourceCellOrAlias string) { + ksShards := []string{"product/0", "customer/-80", "customer/80-"} if _, err := vc.AddKeyspace(t, cells, "customer", "-80,80-", customerVSchema, customerSchema, defaultReplicas, defaultRdonly, 200); err != nil { t.Fatal(err) } @@ -231,6 +232,7 @@ func shardCustomer(t *testing.T, testReverse bool, cells []*Cell, sourceCellOrAl var output string var err error + printShardPositions(vc, ksShards, "p2c: Before SwitchReads (rdonly)") if output, err = vc.VtctlClient.ExecuteCommandWithOutput("SwitchReads", "-cells="+allCellNames, "-tablet_type=rdonly", "customer.p2c"); err != nil { t.Fatalf("SwitchReads error: %s\n", output) } @@ -238,6 +240,7 @@ func shardCustomer(t *testing.T, testReverse bool, cells []*Cell, sourceCellOrAl if output, err = vc.VtctlClient.ExecuteCommandWithOutput("SwitchReads", "-cells="+allCellNames, "-tablet_type=replica", "-dry_run", "customer.p2c"); err != nil { t.Fatalf("SwitchReads Dry Run error: %s\n", output) } + printShardPositions(vc, ksShards, "p2c: Before SwitchReads (replica)") validateDryRunResults(t, output, want) if output, err = vc.VtctlClient.ExecuteCommandWithOutput("SwitchReads", "-cells="+allCellNames, "-tablet_type=replica", "customer.p2c"); err != nil { t.Fatalf("SwitchReads error: %s\n", output) @@ -249,12 +252,12 @@ func shardCustomer(t *testing.T, testReverse bool, cells []*Cell, sourceCellOrAl t.Fatalf("SwitchWrites error: %s\n", output) } validateDryRunResults(t, output, want) + printShardPositions(vc, ksShards, "p2c: Before SwitchWrites") if output, err := vc.VtctlClient.ExecuteCommandWithOutput("SwitchWrites", "customer.p2c"); err != nil { t.Fatalf("SwitchWrites error: %s\n", output) } - ksShards := []string{"product/0", "customer/-80", "customer/80-"} - printShardPositions(vc, ksShards) + printShardPositions(vc, ksShards, "p2c: After SwitchWrites") insertQuery2 := "insert into customer(name) values('tempCustomer2')" matchInsertQuery2 := "insert into customer(name, cid) values (:vtg1, :_cid0)" assert.False(t, validateThatQueryExecutesOnTablet(t, vtgateConn, productTab, "customer", insertQuery2, matchInsertQuery2)) @@ -273,10 +276,11 @@ func shardCustomer(t *testing.T, testReverse bool, cells []*Cell, sourceCellOrAl if output, err := vc.VtctlClient.ExecuteCommandWithOutput("SwitchReads", "-cells="+allCellNames, "-tablet_type=replica", "product.p2c_reverse"); err != nil { t.Fatalf("SwitchReads error: %s\n", output) } - printShardPositions(vc, ksShards) + printShardPositions(vc, ksShards, "pc2_reverse: before SwitchWrites") if output, err := vc.VtctlClient.ExecuteCommandWithOutput("SwitchWrites", "product.p2c_reverse"); err != nil { t.Fatalf("SwitchWrites error: %s\n", output) } + printShardPositions(vc, ksShards, "pc2_reverse: after SwitchWrites") insertQuery1 = "insert into customer(cid, name) values(1002, 'tempCustomer5')" assert.True(t, validateThatQueryExecutesOnTablet(t, vtgateConn, productTab, "product", insertQuery1, matchInsertQuery1)) // both inserts go into 80-, this tests the edge-case where a stream (-80) has no relevant new events after the previous switch diff --git a/go/vt/discovery/tablet_picker.go b/go/vt/discovery/tablet_picker.go index 2aded25401a..487ba99ff2c 100644 --- a/go/vt/discovery/tablet_picker.go +++ b/go/vt/discovery/tablet_picker.go @@ -38,7 +38,7 @@ import ( ) var ( - tabletPickerRetryDelay = 30 * time.Second + tabletPickerRetryDelay = 5 * time.Second muTabletPickerRetryDelay sync.Mutex ) diff --git a/go/vt/wrangler/traffic_switcher.go b/go/vt/wrangler/traffic_switcher.go index 7693ffd8e0e..139a0107e2a 100644 --- a/go/vt/wrangler/traffic_switcher.go +++ b/go/vt/wrangler/traffic_switcher.go @@ -743,14 +743,19 @@ func (ts *trafficSwitcher) waitForCatchup(ctx context.Context, filteredReplicati return ts.forAllUids(func(target *tsTarget, uid uint32) error { ts.wr.Logger().Infof("uid: %d, target master %s, target position %s, shard %s", uid, target.master.AliasString(), target.position, target.si.String()) + fmt.Printf("uid: %d, target master %s, target position %s, shard %s\n", uid, + target.master.AliasString(), target.position, target.si.String()) bls := target.sources[uid] source := ts.sources[bls.Shard] ts.wr.Logger().Infof("waiting for keyspace:shard: %v:%v, source position %v, uid %d", ts.targetKeyspace, target.si.ShardName(), source.position, uid) + fmt.Printf("waiting for keyspace:shard: %v:%v, source position %v, uid %d\n", + ts.targetKeyspace, target.si.ShardName(), source.position, uid) if err := ts.wr.tmc.VReplicationWaitForPos(ctx, target.master.Tablet, int(uid), source.position); err != nil { return err } ts.wr.Logger().Infof("position for keyspace:shard: %v:%v reached, uid %d", ts.targetKeyspace, target.si.ShardName(), uid) + fmt.Printf("position for keyspace:shard: %v:%v reached, uid %d\n", ts.targetKeyspace, target.si.ShardName(), uid) if _, err := ts.wr.tmc.VReplicationExec(ctx, target.master.Tablet, binlogplayer.StopVReplication(uid, "stopped for cutover")); err != nil { log.Infof("error marking stopped for cutover on %s, uid %d", target.master.AliasString(), uid) return err @@ -765,6 +770,7 @@ func (ts *trafficSwitcher) waitForCatchup(ctx context.Context, filteredReplicati var err error target.position, err = ts.wr.tmc.MasterPosition(ctx, target.master.Tablet) ts.wr.Logger().Infof("Position for target master %s, uid %v: %v", target.master.AliasString(), uid, target.position) + fmt.Printf("Position for target master %s, uid %v: %v\n", target.master.AliasString(), uid, target.position) return err }) } diff --git a/test/config.json b/test/config.json index d10894edbcb..6194d06fd9f 100644 --- a/test/config.json +++ b/test/config.json @@ -35,29 +35,7 @@ "RetryMax": 0, "Tags": [] }, - "unit": { - "File": "", - "Args": [], - "Command": [ - "tools/unit_test_runner.sh" - ], - "Manual": false, - "Shard": -1, - "RetryMax": 0, - "Tags": [] - }, - "unit_race": { - "File": "", - "Args": [], - "Command": [ - "make", - "unit_test_race" - ], - "Manual": false, - "Shard": 5, - "RetryMax": 0, - "Tags": [] - }, + "backup": { "File": "unused.go", "Args": ["vitess.io/vitess/go/test/endtoend/backup/vtctlbackup"], @@ -222,28 +200,6 @@ "site_test" ] }, - "merge_sharding": { - "File": "unused.go", - "Args": ["vitess.io/vitess/go/test/endtoend/sharding/mergesharding/int"], - "Command": [], - "Manual": false, - "Shard": 22, - "RetryMax": 0, - "Tags": [ - "worker_test" - ] - }, - "merge_sharding_bytes": { - "File": "unused.go", - "Args": ["vitess.io/vitess/go/test/endtoend/sharding/mergesharding/string"], - "Command": [], - "Manual": false, - "Shard": 22, - "RetryMax": 0, - "Tags": [ - "worker_test" - ] - }, "mysqlctl": { "File": "unused.go", "Args": ["vitess.io/vitess/go/test/endtoend/mysqlctl"], @@ -528,24 +484,6 @@ "Shard": 22, "RetryMax": 0, "Tags": [] - }, - "vreplication_cellalias": { - "File": "unused.go", - "Args": ["vitess.io/vitess/go/test/endtoend/vreplication", "-run", "CellAlias"], - "Command": [], - "Manual": false, - "Shard": 23, - "RetryMax": 0, - "Tags": [] - }, - "vreplication_basic": { - "File": "unused.go", - "Args": ["vitess.io/vitess/go/test/endtoend/vreplication", "-run", "Basic"], - "Command": [], - "Manual": false, - "Shard": 24, - "RetryMax": 0, - "Tags": [] } } }