mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #8480 from heyitsanthony/fix-decrease-cluster
integration: retry remove in TestDecreaseClusterSize
This commit is contained in:
commit
09e30117f5
@ -303,10 +303,11 @@ func (c *cluster) removeMember(t *testing.T, id uint64) error {
|
|||||||
cc := MustNewHTTPClient(t, c.URLs(), c.cfg.ClientTLS)
|
cc := MustNewHTTPClient(t, c.URLs(), c.cfg.ClientTLS)
|
||||||
ma := client.NewMembersAPI(cc)
|
ma := client.NewMembersAPI(cc)
|
||||||
ctx, cancel := context.WithTimeout(context.Background(), requestTimeout)
|
ctx, cancel := context.WithTimeout(context.Background(), requestTimeout)
|
||||||
if err := ma.Remove(ctx, types.ID(id).String()); err != nil {
|
err := ma.Remove(ctx, types.ID(id).String())
|
||||||
|
cancel()
|
||||||
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
cancel()
|
|
||||||
newMembers := make([]*member, 0)
|
newMembers := make([]*member, 0)
|
||||||
for _, m := range c.Members {
|
for _, m := range c.Members {
|
||||||
if uint64(m.s.ID()) != id {
|
if uint64(m.s.ID()) != id {
|
||||||
|
@ -151,7 +151,15 @@ func testDecreaseClusterSize(t *testing.T, size int) {
|
|||||||
// TODO: remove the last but one member
|
// TODO: remove the last but one member
|
||||||
for i := 0; i < size-1; i++ {
|
for i := 0; i < size-1; i++ {
|
||||||
id := c.Members[len(c.Members)-1].s.ID()
|
id := c.Members[len(c.Members)-1].s.ID()
|
||||||
c.RemoveMember(t, uint64(id))
|
// may hit second leader election on slow machines
|
||||||
|
if err := c.removeMember(t, uint64(id)); err != nil {
|
||||||
|
if strings.Contains(err.Error(), "no leader") {
|
||||||
|
t.Logf("got leader error (%v)", err)
|
||||||
|
i--
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
c.waitLeader(t, c.Members)
|
c.waitLeader(t, c.Members)
|
||||||
}
|
}
|
||||||
clusterMustProgress(t, c.Members)
|
clusterMustProgress(t, c.Members)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user