mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-06 17:18:35 +08:00
Fix unstable TestSingleflight unit test (#26363)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
This commit is contained in:
parent
a12e45f693
commit
4742049ecf
@ -68,26 +68,21 @@ func (s *SingleflightSuite) TestDoChan() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *SingleflightSuite) TestForget() {
|
func (s *SingleflightSuite) TestForget() {
|
||||||
counter, hasShared := atomic.Int32{}, atomic.Bool{}
|
|
||||||
|
|
||||||
sf := Singleflight[any]{}
|
sf := Singleflight[any]{}
|
||||||
ch := make(chan struct{})
|
ch := make(chan struct{})
|
||||||
|
submitted := make(chan struct{})
|
||||||
var wg sync.WaitGroup
|
var wg sync.WaitGroup
|
||||||
wg.Add(10)
|
wg.Add(1)
|
||||||
for i := 0; i < 10; i++ {
|
go func() {
|
||||||
go func(i int) {
|
sf.Do("test_forget", func() (any, error) {
|
||||||
defer wg.Done()
|
defer wg.Done()
|
||||||
_, _, shared := sf.Do("test_forget", func() (any, error) {
|
close(submitted)
|
||||||
<-ch
|
<-ch
|
||||||
counter.Add(1)
|
return struct{}{}, nil
|
||||||
return struct{}{}, nil
|
})
|
||||||
})
|
}()
|
||||||
if shared {
|
|
||||||
hasShared.Store(true)
|
|
||||||
}
|
|
||||||
}(i)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
<-submitted
|
||||||
flag := false
|
flag := false
|
||||||
sf.Forget("test_forget")
|
sf.Forget("test_forget")
|
||||||
sf.Do("test_forget", func() (any, error) {
|
sf.Do("test_forget", func() (any, error) {
|
||||||
@ -98,7 +93,7 @@ func (s *SingleflightSuite) TestForget() {
|
|||||||
close(ch)
|
close(ch)
|
||||||
wg.Wait()
|
wg.Wait()
|
||||||
|
|
||||||
s.True(flag)
|
s.True(flag, "new job shall be executed after forget")
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSingleFlight(t *testing.T) {
|
func TestSingleFlight(t *testing.T) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user