Merge pull request #15502 from chaochn47/deflake_TestMemberList

deflake member_test: enable pre-vote by default and add retry
This commit is contained in:
Benjamin Wang 2023-03-18 07:55:02 +08:00 committed by GitHub
commit f9bdd8c96c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 14 additions and 5 deletions

View File

@ -19,6 +19,7 @@ import (
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
clientv3 "go.etcd.io/etcd/client/v3"
@ -49,11 +50,17 @@ func TestMemberList(t *testing.T) {
if expectNum != gotNum {
t.Fatalf("number of members not equal, expect: %d, got: %d", expectNum, gotNum)
}
for _, m := range resp.Members {
if len(m.ClientURLs) == 0 {
t.Fatalf("member is not started, memberId:%d, memberName:%s", m.ID, m.Name)
assert.Eventually(t, func() (done bool) {
for _, m := range resp.Members {
if len(m.ClientURLs) == 0 {
t.Logf("member is not started, memberId:%d, memberName:%s", m.ID, m.Name)
done = false
return done
}
}
}
done = true
return true
}, time.Second*5, time.Millisecond*100)
})
})
}

View File

@ -37,6 +37,8 @@ import (
"go.uber.org/zap/zapcore"
"go.uber.org/zap/zaptest"
"go.etcd.io/raft/v3"
pb "go.etcd.io/etcd/api/v3/etcdserverpb"
"go.etcd.io/etcd/client/pkg/v3/testutil"
"go.etcd.io/etcd/client/pkg/v3/tlsutil"
@ -59,7 +61,6 @@ import (
"go.etcd.io/etcd/server/v3/verify"
framecfg "go.etcd.io/etcd/tests/v3/framework/config"
"go.etcd.io/etcd/tests/v3/framework/testutils"
"go.etcd.io/raft/v3"
"github.com/google/go-cmp/cmp"
"github.com/google/go-cmp/cmp/cmpopts"
@ -662,6 +663,7 @@ func MustNewMember(t testutil.TB, mcfg MemberConfig) *Member {
m.ElectionTicks = ElectionTicks
m.InitialElectionTickAdvance = true
m.TickMs = uint(framecfg.TickDuration / time.Millisecond)
m.PreVote = true
m.QuotaBackendBytes = mcfg.QuotaBackendBytes
m.MaxTxnOps = mcfg.MaxTxnOps
if m.MaxTxnOps == 0 {