From 2801912248bc6406b14cddcb9afac8a8f65857c2 Mon Sep 17 00:00:00 2001 From: "vitess-bot[bot]" <108069721+vitess-bot[bot]@users.noreply.github.com> Date: Wed, 16 Aug 2023 01:59:18 -0400 Subject: [PATCH 1/2] Cherry-pick 24ea6f20b7c748bb8665af85b9503bd77e15a13d with conflicts --- go/vt/vtgate/schema/tracker.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/go/vt/vtgate/schema/tracker.go b/go/vt/vtgate/schema/tracker.go index 8155c5fc58a..3acefe20493 100644 --- a/go/vt/vtgate/schema/tracker.go +++ b/go/vt/vtgate/schema/tracker.go @@ -21,6 +21,7 @@ import ( "sync" "time" +<<<<<<< HEAD vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc" "vitess.io/vitess/go/vt/sidecardb" "vitess.io/vitess/go/vt/vterrors" @@ -32,6 +33,9 @@ import ( "vitess.io/vitess/go/mysql" "vitess.io/vitess/go/sqltypes" querypb "vitess.io/vitess/go/vt/proto/query" +======= + "golang.org/x/exp/maps" +>>>>>>> 24ea6f20b7 (vtgate: fix race condition iterating tables and views from schema tracker (#13673)) "vitess.io/vitess/go/vt/discovery" "vitess.io/vitess/go/vt/log" @@ -236,7 +240,7 @@ func (t *Tracker) Tables(ks string) map[string][]vindexes.Column { return map[string][]vindexes.Column{} // we know nothing about this KS, so that is the info we can give out } - return m + return maps.Clone(m) } // Views returns all known views in the keyspace with their definition. @@ -247,7 +251,9 @@ func (t *Tracker) Views(ks string) map[string]sqlparser.SelectStatement { if t.views == nil { return nil } - return t.views.m[ks] + + m := t.views.m[ks] + return maps.Clone(m) } func (t *Tracker) updateSchema(th *discovery.TabletHealth) bool { From 4c132917963af66b2b0ad984f5fa8c0e9b8a05de Mon Sep 17 00:00:00 2001 From: Matt Lord Date: Wed, 16 Aug 2023 10:08:39 -0400 Subject: [PATCH 2/2] Resolve conflicts Signed-off-by: Matt Lord --- go/vt/vtgate/schema/tracker.go | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/go/vt/vtgate/schema/tracker.go b/go/vt/vtgate/schema/tracker.go index 3acefe20493..24fd3d77f57 100644 --- a/go/vt/vtgate/schema/tracker.go +++ b/go/vt/vtgate/schema/tracker.go @@ -21,26 +21,21 @@ import ( "sync" "time" -<<<<<<< HEAD - vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc" - "vitess.io/vitess/go/vt/sidecardb" - "vitess.io/vitess/go/vt/vterrors" - - "vitess.io/vitess/go/vt/callerid" - - "vitess.io/vitess/go/vt/vttablet/queryservice" + "golang.org/x/exp/maps" "vitess.io/vitess/go/mysql" "vitess.io/vitess/go/sqltypes" - querypb "vitess.io/vitess/go/vt/proto/query" -======= - "golang.org/x/exp/maps" ->>>>>>> 24ea6f20b7 (vtgate: fix race condition iterating tables and views from schema tracker (#13673)) - + "vitess.io/vitess/go/vt/callerid" "vitess.io/vitess/go/vt/discovery" "vitess.io/vitess/go/vt/log" + "vitess.io/vitess/go/vt/sidecardb" "vitess.io/vitess/go/vt/sqlparser" + "vitess.io/vitess/go/vt/vterrors" "vitess.io/vitess/go/vt/vtgate/vindexes" + "vitess.io/vitess/go/vt/vttablet/queryservice" + + querypb "vitess.io/vitess/go/vt/proto/query" + vtrpcpb "vitess.io/vitess/go/vt/proto/vtrpc" ) type (