Skip to content

Commit

Permalink
address comment
Browse files Browse the repository at this point in the history
  • Loading branch information
nolouch committed Jun 6, 2018
1 parent af05403 commit 052d095
Show file tree
Hide file tree
Showing 9 changed files with 23 additions and 27 deletions.
1 change: 1 addition & 0 deletions pd-client/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ import (
)

func TestClient(t *testing.T) {
server.EnableZap = true
TestingT(t)
}

Expand Down
2 changes: 1 addition & 1 deletion pd-client/leader_change_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func (s *testLeaderChangeSuite) prepareClusterN(c *C, n int) (svrs map[string]*s
for i := 0; i < n; i++ {
cfg := cfgs[i]
go func() {
svr, err := server.CreateServer(cfg, api.NewHandler, server.TestMode())
svr, err := server.CreateServer(cfg, api.NewHandler)
c.Assert(err, IsNil)
err = svr.Run()
c.Assert(err, IsNil)
Expand Down
3 changes: 2 additions & 1 deletion server/api/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ var (
)

func TestAPIServer(t *testing.T) {
server.EnableZap = true
TestingT(t)
}

Expand Down Expand Up @@ -78,7 +79,7 @@ func mustNewCluster(c *C, num int) ([]*server.Config, []*server.Server, cleanUpF
ch := make(chan *server.Server, num)
for _, cfg := range cfgs {
go func(cfg *server.Config) {
s, err := server.CreateServer(cfg, NewHandler, server.TestMode())
s, err := server.CreateServer(cfg, NewHandler)
c.Assert(err, IsNil)
err = s.Run()
c.Assert(err, IsNil)
Expand Down
2 changes: 1 addition & 1 deletion server/api/store_ns_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func (s *testStoreNsSuite) SetUpSuite(c *C) {

cfg := server.NewTestSingleConfig()
cfg.NamespaceClassifier = "table"
svr, err := server.CreateServer(cfg, NewHandler, server.TestMode())
svr, err := server.CreateServer(cfg, NewHandler)
c.Assert(err, IsNil)
c.Assert(svr.Run(), IsNil)
s.svr = svr
Expand Down
2 changes: 1 addition & 1 deletion server/join_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ func startPdWith(cfg *Config) (*Server, error) {
errCh <- errors.Trace(err)
return
}
svr, err := CreateServer(cfg, nil, TestMode())
svr, err := CreateServer(cfg, nil)
if err != nil {
errCh <- errors.Trace(err)
return
Expand Down
2 changes: 1 addition & 1 deletion server/leader_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func (s *testGetLeaderSuite) SetUpSuite(c *C) {

s.wg.Add(1)
s.done = make(chan bool)
svr, err := CreateServer(cfg, nil, TestMode())
svr, err := CreateServer(cfg, nil)
c.Assert(err, IsNil)
err = svr.Run()
// Send requests after server has started.
Expand Down
27 changes: 10 additions & 17 deletions server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ const (
pdClusterIDPath = "/pd/cluster_id"
)

// EnableZap enable the zap logger in embed etcd.
var EnableZap = false

// Server is the pd server.
type Server struct {
// Server state.
Expand Down Expand Up @@ -91,22 +94,8 @@ type Server struct {
hbStreams *heartbeatStreams
}

// CreateServerOption configures server when creating.
type CreateServerOption func(*Server)

// TestMode for testing.
func TestMode() CreateServerOption {
// The etcd master version has removed embed.Config.SetupLogging.
// Now logger is set up automatically based on embed.Config.Logger, embed.Config.LogOutputs, embed.Config.Debug fields.
// Use zap logger in the test, otherwise will panic. Reference: https://github.com/coreos/etcd/blob/master/embed/config_logging.go#L45
return func(s *Server) {
s.etcdCfg.Logger = "zap"
s.etcdCfg.LogOutputs = []string{"stdout"}
}
}

// CreateServer creates the UNINITIALIZED pd server with given configuration.
func CreateServer(cfg *Config, apiRegister func(*Server) http.Handler, ops ...CreateServerOption) (*Server, error) {
func CreateServer(cfg *Config, apiRegister func(*Server) http.Handler) (*Server, error) {
log.Infof("PD config - %v", cfg)
rand.Seed(time.Now().UnixNano())

Expand All @@ -128,8 +117,12 @@ func CreateServer(cfg *Config, apiRegister func(*Server) http.Handler, ops ...Cr
}
etcdCfg.ServiceRegister = func(gs *grpc.Server) { pdpb.RegisterPDServer(gs, s) }
s.etcdCfg = etcdCfg
for _, op := range ops {
op(s)
if EnableZap {
// The etcd master version has removed embed.Config.SetupLogging.
// Now logger is set up automatically based on embed.Config.Logger, embed.Config.LogOutputs, embed.Config.Debug fields.
// Use zap logger in the test, otherwise will panic. Reference: https://github.com/coreos/etcd/blob/master/embed/config_logging.go#L45
s.etcdCfg.Logger = "zap"
s.etcdCfg.LogOutputs = []string{"stdout"}
}
return s, nil
}
Expand Down
9 changes: 5 additions & 4 deletions server/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
)

func TestServer(t *testing.T) {
EnableZap = true
TestingT(t)
}

Expand All @@ -34,7 +35,7 @@ type cleanupFunc func()
func newTestServer(c *C) (*Server, cleanUpFunc) {
cfg := NewTestSingleConfig()

svr, err := CreateServer(cfg, nil, TestMode())
svr, err := CreateServer(cfg, nil)
c.Assert(err, IsNil)

cleanup := func() {
Expand Down Expand Up @@ -92,7 +93,7 @@ func (s *testLeaderServerSuite) SetUpSuite(c *C) {
cfg := cfgs[i]

go func() {
svr, err := CreateServer(cfg, nil, TestMode())
svr, err := CreateServer(cfg, nil)
c.Assert(err, IsNil)
err = svr.Run()
c.Assert(err, IsNil)
Expand Down Expand Up @@ -147,7 +148,7 @@ func newTestServersWithCfgs(c *C, cfgs []*Config) ([]*Server, cleanupFunc) {
ch := make(chan *Server)
for _, cfg := range cfgs {
go func(cfg *Config) {
svr, err := CreateServer(cfg, nil, TestMode())
svr, err := CreateServer(cfg, nil)
c.Assert(err, IsNil)
err = svr.Run()
c.Assert(err, IsNil)
Expand Down Expand Up @@ -266,7 +267,7 @@ func (s *testServerSuite) TestCheckClusterID(c *C) {

// Start previous cluster, expect an error.
cfgA.InitialCluster = originInitial
svr, err := CreateServer(cfgA, nil, TestMode())
svr, err := CreateServer(cfgA, nil)
c.Assert(err, IsNil)
err = svr.Run()
c.Assert(err, NotNil)
Expand Down
2 changes: 1 addition & 1 deletion server/testutil.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ func cleanServer(cfg *Config) {
// NewTestServer creates a pd server for testing.
func NewTestServer() (*Config, *Server, CleanupFunc, error) {
cfg := NewTestSingleConfig()
s, err := CreateServer(cfg, nil, TestMode())
s, err := CreateServer(cfg, nil)
if err != nil {
return nil, nil, nil, errors.Trace(err)
}
Expand Down

0 comments on commit 052d095

Please sign in to comment.