Skip to content

Commit 62e4433

Browse files
authored
Merge pull request #18450 from ahrtr/lease_5members_20240816
test: extend leaseRevoke and leaseRenew test to support 5 members cluster
2 parents c8e0d1e + 84533d5 commit 62e4433

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

tests/e2e/v3_lease_no_proxy_test.go

+16-6
Original file line numberDiff line numberDiff line change
@@ -32,24 +32,34 @@ import (
3232
// by old leader.
3333
// See the case 1 in https://github.com/etcd-io/etcd/issues/15247#issuecomment-1777862093.
3434
func TestLeaseRevoke_IgnoreOldLeader(t *testing.T) {
35-
testLeaseRevokeIssue(t, true)
35+
t.Run("3 members", func(t *testing.T) {
36+
testLeaseRevokeIssue(t, 3, true)
37+
})
38+
t.Run("5 members", func(t *testing.T) {
39+
testLeaseRevokeIssue(t, 5, true)
40+
})
3641
}
3742

3843
// TestLeaseRevoke_ClientSwitchToOtherMember verifies that leases shouldn't
3944
// be revoked by new leader.
4045
// See the case 2 in https://github.com/etcd-io/etcd/issues/15247#issuecomment-1777862093.
4146
func TestLeaseRevoke_ClientSwitchToOtherMember(t *testing.T) {
42-
testLeaseRevokeIssue(t, false)
47+
t.Run("3 members", func(t *testing.T) {
48+
testLeaseRevokeIssue(t, 3, false)
49+
})
50+
t.Run("5 members", func(t *testing.T) {
51+
testLeaseRevokeIssue(t, 5, false)
52+
})
4353
}
4454

45-
func testLeaseRevokeIssue(t *testing.T, connectToOneFollower bool) {
55+
func testLeaseRevokeIssue(t *testing.T, clusterSize int, connectToOneFollower bool) {
4656
e2e.BeforeTest(t)
4757

4858
ctx := context.Background()
4959

5060
t.Log("Starting a new etcd cluster")
5161
epc, err := e2e.NewEtcdProcessCluster(ctx, t,
52-
e2e.WithClusterSize(3),
62+
e2e.WithClusterSize(clusterSize),
5363
e2e.WithGoFailEnabled(true),
5464
e2e.WithGoFailClientTimeout(40*time.Second),
5565
)
@@ -63,15 +73,15 @@ func testLeaseRevokeIssue(t *testing.T, connectToOneFollower bool) {
6373
leaderIdx := epc.WaitLeader(t)
6474
t.Logf("Leader index: %d", leaderIdx)
6575

66-
epsForNormalOperations := epc.Procs[(leaderIdx+2)%3].EndpointsGRPC()
76+
epsForNormalOperations := epc.Procs[(leaderIdx+2)%clusterSize].EndpointsGRPC()
6777
t.Logf("Creating a client for normal operations: %v", epsForNormalOperations)
6878
client, err := clientv3.New(clientv3.Config{Endpoints: epsForNormalOperations, DialTimeout: 3 * time.Second})
6979
require.NoError(t, err)
7080
defer client.Close()
7181

7282
var epsForLeaseKeepAlive []string
7383
if connectToOneFollower {
74-
epsForLeaseKeepAlive = epc.Procs[(leaderIdx+1)%3].EndpointsGRPC()
84+
epsForLeaseKeepAlive = epc.Procs[(leaderIdx+1)%clusterSize].EndpointsGRPC()
7585
} else {
7686
epsForLeaseKeepAlive = epc.EndpointsGRPC()
7787
}

0 commit comments

Comments
 (0)