Skip to content

Commit aac7ef6

Browse files
authored
Merge pull request #19136 from ahrtr/member_promote_test_20250107
Fix the inconsistent between listen peerURL and advertise peerURL
2 parents fce823a + e78cec8 commit aac7ef6

File tree

2 files changed

+10
-11
lines changed

2 files changed

+10
-11
lines changed

tests/framework/integration/cluster.go

+6-8
Original file line numberDiff line numberDiff line change
@@ -259,7 +259,7 @@ func (c *Cluster) ProtoMembers() []*pb.Member {
259259
return ms
260260
}
261261

262-
func (c *Cluster) mustNewMember(t testutil.TB) *Member {
262+
func (c *Cluster) MustNewMember(t testutil.TB) *Member {
263263
memberNumber := c.LastMemberNum
264264
c.LastMemberNum++
265265

@@ -299,7 +299,7 @@ func (c *Cluster) mustNewMember(t testutil.TB) *Member {
299299

300300
// addMember return PeerURLs of the added member.
301301
func (c *Cluster) addMember(t testutil.TB) types.URLs {
302-
m := c.mustNewMember(t)
302+
m := c.MustNewMember(t)
303303

304304
scheme := SchemeFromTLSInfo(c.Cfg.PeerTLS)
305305

@@ -1394,7 +1394,7 @@ func NewCluster(t testutil.TB, cfg *ClusterConfig) *Cluster {
13941394
c := &Cluster{Cfg: cfg}
13951395
ms := make([]*Member, cfg.Size)
13961396
for i := 0; i < cfg.Size; i++ {
1397-
ms[i] = c.mustNewMember(t)
1397+
ms[i] = c.MustNewMember(t)
13981398
}
13991399
c.Members = ms
14001400
if err := c.fillClusterForMembers(); err != nil {
@@ -1580,7 +1580,7 @@ func (c *Cluster) GetLearnerMembers() ([]*pb.Member, error) {
15801580
// AddAndLaunchLearnerMember creates a learner member, adds it to Cluster
15811581
// via v3 MemberAdd API, and then launches the new member.
15821582
func (c *Cluster) AddAndLaunchLearnerMember(t testutil.TB) {
1583-
m := c.mustNewMember(t)
1583+
m := c.MustNewMember(t)
15841584
m.IsLearner = true
15851585

15861586
scheme := SchemeFromTLSInfo(c.Cfg.PeerTLS)
@@ -1679,9 +1679,8 @@ func (p SortableProtoMemberSliceByPeerURLs) Less(i, j int) bool {
16791679
}
16801680
func (p SortableProtoMemberSliceByPeerURLs) Swap(i, j int) { p[i], p[j] = p[j], p[i] }
16811681

1682-
// MustNewMember creates a new member instance based on the response of V3 Member Add API.
1683-
func (c *Cluster) MustNewMember(t testutil.TB, resp *clientv3.MemberAddResponse) *Member {
1684-
m := c.mustNewMember(t)
1682+
// InitializeMemberWithResponse initializes a member with the response
1683+
func (c *Cluster) InitializeMemberWithResponse(t testutil.TB, m *Member, resp *clientv3.MemberAddResponse) {
16851684
m.IsLearner = resp.Member.IsLearner
16861685
m.NewCluster = false
16871686

@@ -1691,5 +1690,4 @@ func (c *Cluster) MustNewMember(t testutil.TB, resp *clientv3.MemberAddResponse)
16911690
}
16921691
m.InitialPeerURLsMap[m.Name] = types.MustNewURLs(resp.Member.PeerURLs)
16931692
c.Members = append(c.Members, m)
1694-
return m
16951693
}

tests/integration/clientv3/cluster_test.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,8 @@ func TestMemberPromote(t *testing.T) {
230230
followerIdx := (leaderIdx + 1) % 3
231231
capi := clus.Client(followerIdx)
232232

233-
urls := []string{"http://127.0.0.1:1234"}
233+
learnerMember := clus.MustNewMember(t)
234+
urls := learnerMember.PeerURLs.StringSlice()
234235
memberAddResp, err := capi.MemberAddAsLearner(context.Background(), urls)
235236
if err != nil {
236237
t.Fatalf("failed to add member %v", err)
@@ -262,9 +263,9 @@ func TestMemberPromote(t *testing.T) {
262263
t.Fatalf("expecting error to contain %s, got %s", expectedErrKeywords, err.Error())
263264
}
264265

265-
// create and launch learner member based on the response of V3 Member Add API.
266+
// Initialize and launch learner member based on the response of V3 Member Add API.
266267
// (the response has information on peer urls of the existing members in cluster)
267-
learnerMember := clus.MustNewMember(t, memberAddResp)
268+
clus.InitializeMemberWithResponse(t, learnerMember, memberAddResp)
268269

269270
if err = learnerMember.Launch(); err != nil {
270271
t.Fatal(err)

0 commit comments

Comments
 (0)