Skip to content

Commit

Permalink
return leader from GetRegion api
Browse files Browse the repository at this point in the history
  • Loading branch information
cfzjywxk committed Nov 17, 2019
1 parent 8b84807 commit 1ef8fd6
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 12 deletions.
20 changes: 10 additions & 10 deletions pd/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@ type Client interface {
GetStore(ctx context.Context, storeID uint64) (*metapb.Store, error)
GetAllStores(ctx context.Context, excludeTombstone bool) ([]*metapb.Store, error)
GetClusterConfig(ctx context.Context) (*metapb.Cluster, error)
GetRegion(ctx context.Context, key []byte) (*metapb.Region, error)
GetRegionByID(ctx context.Context, regionID uint64) (*metapb.Region, error)
GetRegion(ctx context.Context, key []byte) (*metapb.Region, *metapb.Peer, error)
GetRegionByID(ctx context.Context, regionID uint64) (*metapb.Region, *metapb.Peer, error)
ReportRegion(*pdpb.RegionHeartbeatRequest)
AskSplit(ctx context.Context, region *metapb.Region) (*pdpb.AskSplitResponse, error)
AskBatchSplit(ctx context.Context, region *metapb.Region, count int) (*pdpb.AskBatchSplitResponse, error)
Expand Down Expand Up @@ -503,7 +503,7 @@ func (c *client) GetClusterConfig(ctx context.Context) (*metapb.Cluster, error)
return resp.Cluster, nil
}

func (c *client) GetRegion(ctx context.Context, key []byte) (*metapb.Region, error) {
func (c *client) GetRegion(ctx context.Context, key []byte) (*metapb.Region, *metapb.Peer, error) {
var resp *pdpb.GetRegionResponse
err := c.doRequest(ctx, func(ctx context.Context, client pdpb.PDClient) error {
var err1 error
Expand All @@ -514,15 +514,15 @@ func (c *client) GetRegion(ctx context.Context, key []byte) (*metapb.Region, err
return err1
})
if err != nil {
return nil, err
return nil, nil, err
}
if herr := resp.Header.GetError(); herr != nil {
return nil, errors.New(herr.String())
return nil, nil, errors.New(herr.String())
}
return resp.Region, nil
return resp.Region, resp.Leader, nil
}

func (c *client) GetRegionByID(ctx context.Context, regionID uint64) (*metapb.Region, error) {
func (c *client) GetRegionByID(ctx context.Context, regionID uint64) (*metapb.Region, *metapb.Peer, error) {
var resp *pdpb.GetRegionResponse
err := c.doRequest(ctx, func(ctx context.Context, client pdpb.PDClient) error {
var err1 error
Expand All @@ -533,12 +533,12 @@ func (c *client) GetRegionByID(ctx context.Context, regionID uint64) (*metapb.Re
return err1
})
if err != nil {
return nil, err
return nil, nil, err
}
if herr := resp.Header.GetError(); herr != nil {
return nil, errors.New(herr.String())
return nil, nil, errors.New(herr.String())
}
return resp.Region, nil
return resp.Region, resp.Leader, nil
}

func (c *client) AskSplit(ctx context.Context, region *metapb.Region) (resp *pdpb.AskSplitResponse, err error) {
Expand Down
2 changes: 1 addition & 1 deletion tikv/raftstore/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -217,7 +217,7 @@ func (n *Node) BootstrapCluster(ctx context.Context, engines *Engines, firstRegi
return true, ClearPrepareBootstrapState(engines)
}
if resErr.GetType() == pdpb.ErrorType_ALREADY_BOOTSTRAPPED {
region, err := n.pdClient.GetRegion(ctx, []byte{})
region, _, err := n.pdClient.GetRegion(ctx, []byte{})
if err != nil {
log.Errorf("get first region failed, err: %v", err)
continue
Expand Down
2 changes: 1 addition & 1 deletion tikv/raftstore/pd_runner.go
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ func (r *pdRunner) onReportBatchSplit(t *pdReportBatchSplitTask) {
}

func (r *pdRunner) onValidatePeer(t *pdValidatePeerTask) {
resp, err := r.pdClient.GetRegionByID(context.TODO(), t.region.GetId())
resp, _, err := r.pdClient.GetRegionByID(context.TODO(), t.region.GetId())
if err != nil {
log.Error("get region failed:", err)
return
Expand Down

0 comments on commit 1ef8fd6

Please sign in to comment.