Skip to content

Commit 8dc5cb3

Browse files
committed
Create a single MySQL instance when multiple keyspaces are defined
Signed-off-by: Florent Poinsard <[email protected]>
1 parent c986024 commit 8dc5cb3

File tree

1 file changed

+6
-8
lines changed

1 file changed

+6
-8
lines changed

go/tester/execute.go

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -119,9 +119,9 @@ func SetupCluster(cfg Config) (_ ClusterInfo, err error) {
119119
vtParams := clusterInstance.GetVTParams(ksNames[0])
120120

121121
var mysqlParams *mysql.ConnParams
122-
var closers []func()
122+
var closer func()
123123
if cfg.Compare {
124-
mysqlParams, closers, err = setupExternalMySQL(keyspaces, clusterInstance)
124+
mysqlParams, closer, err = setupExternalMySQL(keyspaces, clusterInstance)
125125
if err != nil {
126126
return ClusterInfo{}, err
127127
}
@@ -135,7 +135,7 @@ func SetupCluster(cfg Config) (_ ClusterInfo, err error) {
135135
vschema: vschema,
136136
closer: func() {
137137
clusterInstance.Teardown()
138-
for _, closer := range closers {
138+
if closer != nil {
139139
closer()
140140
}
141141
},
@@ -165,8 +165,7 @@ func startKeyspace(cfg Config, vschema *vindexes.VSchema, keyspace *cluster.Keys
165165
return nil
166166
}
167167

168-
// TODO: having a single connection is not correct if we are dealing with multiple mysql databases.
169-
func setupExternalMySQL(keyspaces []*cluster.Keyspace, clusterInstance *cluster.LocalProcessCluster) (_ *mysql.ConnParams, closers []func(), err error) {
168+
func setupExternalMySQL(keyspaces []*cluster.Keyspace, clusterInstance *cluster.LocalProcessCluster) (_ *mysql.ConnParams, closer func(), err error) {
170169
// Create the mysqld server we will use to compare the results.
171170
// We go through all the keyspaces we found in the vschema, and
172171
// simply create the mysqld process during the first iteration with
@@ -185,9 +184,9 @@ func setupExternalMySQL(keyspaces []*cluster.Keyspace, clusterInstance *cluster.
185184
if err != nil {
186185
return nil, nil, err
187186
}
187+
continue
188188
}
189189

190-
var closer func()
191190
mysqlParamsValue, closer, err = utils.NewMySQL(clusterInstance, keyspace.Name, "")
192191
if err != nil {
193192
return nil, nil, err
@@ -196,9 +195,8 @@ func setupExternalMySQL(keyspaces []*cluster.Keyspace, clusterInstance *cluster.
196195
if err != nil {
197196
return nil, nil, err
198197
}
199-
closers = append(closers, closer)
200198
}
201-
return &mysqlParamsValue, closers, nil
199+
return &mysqlParamsValue, closer, nil
202200
}
203201

204202
func generateShardRanges(numberOfShards int) []string {

0 commit comments

Comments
 (0)