Skip to content

Commit 343bda6

Browse files
committed
address comments
Signed-off-by: Ryan Leung <rleungx@gmail.com>
1 parent e1af99b commit 343bda6

File tree

5 files changed

+36
-22
lines changed

5 files changed

+36
-22
lines changed

pkg/mcs/resource_manager/server/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ func (s *Server) initClient() error {
264264
if err != nil {
265265
return err
266266
}
267-
s.etcdClient, _, s.httpClient, err = etcdutil.CreateClients(tlsConfig, []url.URL(u)[0])
267+
s.etcdClient, s.httpClient, err = etcdutil.CreateClients(tlsConfig, []url.URL(u)[0])
268268
return err
269269
}
270270

pkg/mcs/tso/server/server.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -380,7 +380,7 @@ func (s *Server) initClient() error {
380380
if err != nil {
381381
return err
382382
}
383-
s.etcdClient, _, s.httpClient, err = etcdutil.CreateClients(tlsConfig, s.backendUrls[0])
383+
s.etcdClient, s.httpClient, err = etcdutil.CreateClients(tlsConfig, s.backendUrls[0])
384384
return err
385385
}
386386

pkg/utils/etcdutil/etcdutil.go

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -197,17 +197,13 @@ func EtcdKVPutWithTTL(ctx context.Context, c *clientv3.Client, key string, value
197197
}
198198

199199
// CreateClients creates etcd v3 client and http client.
200-
func CreateClients(tlsConfig *tls.Config, acUrls url.URL) (*clientv3.Client, *clientv3.Client, *http.Client, error) {
201-
client, err := createEtcdClient(tlsConfig, acUrls)
200+
func CreateClients(tlsConfig *tls.Config, acUrls url.URL) (*clientv3.Client, *http.Client, error) {
201+
client, err := CreateEtcdClient(tlsConfig, acUrls)
202202
if err != nil {
203-
return nil, nil, nil, errs.ErrNewEtcdClient.Wrap(err).GenWithStackByCause()
204-
}
205-
electionClient, err := createEtcdClient(tlsConfig, acUrls)
206-
if err != nil {
207-
return nil, nil, nil, errs.ErrNewEtcdClient.Wrap(err).GenWithStackByCause()
203+
return nil, nil, errs.ErrNewEtcdClient.Wrap(err).GenWithStackByCause()
208204
}
209205
httpClient := createHTTPClient(tlsConfig)
210-
return electionClient, client, httpClient, nil
206+
return client, httpClient, nil
211207
}
212208

213209
// createEtcdClientWithMultiEndpoint creates etcd v3 client.
@@ -249,9 +245,9 @@ func createEtcdClientWithMultiEndpoint(tlsConfig *tls.Config, acUrls []url.URL)
249245
return client, err
250246
}
251247

252-
// createEtcdClient creates etcd v3 client.
248+
// CreateEtcdClient creates etcd v3 client.
253249
// Note: it will be used by legacy pd-server, and only connect to leader only.
254-
func createEtcdClient(tlsConfig *tls.Config, acURL url.URL) (*clientv3.Client, error) {
250+
func CreateEtcdClient(tlsConfig *tls.Config, acURL url.URL) (*clientv3.Client, error) {
255251
lgc := zap.NewProductionConfig()
256252
lgc.Encoding = log.ZapEncodingName
257253
client, err := clientv3.New(clientv3.Config{

pkg/utils/etcdutil/etcdutil_test.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -305,12 +305,12 @@ func TestEtcdScaleInAndOutWithoutMultiPoint(t *testing.T) {
305305
// Create two etcd clients with etcd1 as endpoint.
306306
urls, err := types.NewURLs([]string{ep1})
307307
re.NoError(err)
308-
client1, err := createEtcdClient(nil, urls[0]) // execute member change operation with this client
308+
client1, err := CreateEtcdClient(nil, urls[0]) // execute member change operation with this client
309309
defer func() {
310310
client1.Close()
311311
}()
312312
re.NoError(err)
313-
client2, err := createEtcdClient(nil, urls[0]) // check member change with this client
313+
client2, err := CreateEtcdClient(nil, urls[0]) // check member change with this client
314314
defer func() {
315315
client2.Close()
316316
}()
@@ -482,7 +482,7 @@ func (suite *loopWatcherTestSuite) SetupSuite() {
482482
ep1 := suite.config.LCUrls[0].String()
483483
urls, err := types.NewURLs([]string{ep1})
484484
suite.NoError(err)
485-
suite.client, err = createEtcdClient(nil, urls[0])
485+
suite.client, err = CreateEtcdClient(nil, urls[0])
486486
suite.NoError(err)
487487
suite.cleans = append(suite.cleans, func() {
488488
suite.client.Close()
@@ -685,23 +685,23 @@ func (suite *loopWatcherTestSuite) TestWatcherBreak() {
685685

686686
// Case2: close the etcd client and put a new value after watcher restarts
687687
suite.client.Close()
688-
suite.client, err = createEtcdClient(nil, suite.config.LCUrls[0])
688+
suite.client, err = CreateEtcdClient(nil, suite.config.LCUrls[0])
689689
suite.NoError(err)
690690
watcher.updateClientCh <- suite.client
691691
suite.put("TestWatcherBreak", "2")
692692
checkCache("2")
693693

694694
// Case3: close the etcd client and put a new value before watcher restarts
695695
suite.client.Close()
696-
suite.client, err = createEtcdClient(nil, suite.config.LCUrls[0])
696+
suite.client, err = CreateEtcdClient(nil, suite.config.LCUrls[0])
697697
suite.NoError(err)
698698
suite.put("TestWatcherBreak", "3")
699699
watcher.updateClientCh <- suite.client
700700
checkCache("3")
701701

702702
// Case4: close the etcd client and put a new value with compact
703703
suite.client.Close()
704-
suite.client, err = createEtcdClient(nil, suite.config.LCUrls[0])
704+
suite.client, err = CreateEtcdClient(nil, suite.config.LCUrls[0])
705705
suite.NoError(err)
706706
suite.put("TestWatcherBreak", "4")
707707
resp, err := EtcdKVGet(suite.client, "TestWatcherBreak")

server/server.go

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,12 @@ func (s *Server) startEtcd(ctx context.Context) error {
332332
}
333333

334334
// start client
335-
s.client, s.electionClient, s.httpClient, err = startClient(s.cfg)
335+
s.client, s.httpClient, err = startClient(s.cfg)
336+
if err != nil {
337+
return err
338+
}
339+
340+
s.electionClient, err = startElectionClient(s.cfg)
336341
if err != nil {
337342
return err
338343
}
@@ -359,18 +364,31 @@ func (s *Server) startEtcd(ctx context.Context) error {
359364
return nil
360365
}
361366

362-
func startClient(cfg *config.Config) (*clientv3.Client, *clientv3.Client, *http.Client, error) {
367+
func startClient(cfg *config.Config) (*clientv3.Client, *http.Client, error) {
363368
tlsConfig, err := cfg.Security.ToTLSConfig()
364369
if err != nil {
365-
return nil, nil, nil, err
370+
return nil, nil, err
366371
}
367372
etcdCfg, err := cfg.GenEmbedEtcdConfig()
368373
if err != nil {
369-
return nil, nil, nil, err
374+
return nil, nil, err
370375
}
371376
return etcdutil.CreateClients(tlsConfig, etcdCfg.ACUrls[0])
372377
}
373378

379+
func startElectionClient(cfg *config.Config) (*clientv3.Client, error) {
380+
tlsConfig, err := cfg.Security.ToTLSConfig()
381+
if err != nil {
382+
return nil, err
383+
}
384+
etcdCfg, err := cfg.GenEmbedEtcdConfig()
385+
if err != nil {
386+
return nil, err
387+
}
388+
389+
return etcdutil.CreateEtcdClient(tlsConfig, etcdCfg.ACUrls[0])
390+
}
391+
374392
// AddStartCallback adds a callback in the startServer phase.
375393
func (s *Server) AddStartCallback(callbacks ...func()) {
376394
s.startCallbacks = append(s.startCallbacks, callbacks...)

0 commit comments

Comments
 (0)