MCPcopy
hub / github.com/etcd-io/etcd / TestConcurrentMoveLeader

Function TestConcurrentMoveLeader

tests/integration/cluster_test.go:540–557  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

538}
539
540func 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}

Callers

nothing calls this directly

Calls 6

TerminateMethod · 0.95
BeforeTestMethod · 0.65
NewClusterMethod · 0.65
MemberAddAsLearnerMethod · 0.65
MoveLeaderMethod · 0.65
MemberRemoveMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…