(t *testing.T)
| 538 | } |
| 539 | |
| 540 | func TestConcurrentMoveLeader(t *testing.T) { |
| 541 | integration.BeforeTest(t, integration.WithFailpoint("afterIsMemberExist", `sleep("1s")`)) |
| 542 | c := integration.NewCluster(t, &integration.ClusterConfig{Size: 1}) |
| 543 | defer c.Terminate(t) |
| 544 | |
| 545 | addResp, err := c.Members[0].Client.MemberAddAsLearner(context.Background(), []string{"http://localhost:123"}) |
| 546 | require.NoError(t, err) |
| 547 | removeID := addResp.Member.ID |
| 548 | done := make(chan struct{}) |
| 549 | go func() { |
| 550 | time.Sleep(time.Second / 2) |
| 551 | c.Members[0].Client.MoveLeader(context.Background(), removeID) |
| 552 | close(done) |
| 553 | }() |
| 554 | _, err = c.Members[0].Client.MemberRemove(context.Background(), removeID) |
| 555 | require.NoError(t, err) |
| 556 | <-done |
| 557 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…