From d186f35895508f5215d7bc1d49b8ab6c8a906a8d Mon Sep 17 00:00:00 2001 From: congqixia Date: Fri, 16 Jun 2023 09:50:44 +0800 Subject: [PATCH] Fix TestChannelMetaMockSkipBFLoad/transient_error not stable (#24928) Signed-off-by: Congqi Xia --- internal/datanode/channel_meta_test.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/internal/datanode/channel_meta_test.go b/internal/datanode/channel_meta_test.go index 70b4c84d81..d8daafa075 100644 --- a/internal/datanode/channel_meta_test.go +++ b/internal/datanode/channel_meta_test.go @@ -1201,16 +1201,22 @@ func (s *ChannelMetaMockSuite) TestAddSegment_SkipBFLoad() { s.Run("transient_error", func() { defer s.SetupTest() ch := make(chan struct{}) - counter := 0 + done := func() bool { + select { + case <-ch: + return true + default: + return false + } + } s.cm.EXPECT().MultiRead(mock.Anything, []string{"rootPath/stats/1/0/100/10001"}).Call. Return(func(_ context.Context, arg []string) [][]byte { - if counter == 0 { + if !done() { return nil } return [][]byte{} }, func(_ context.Context, arg []string) error { - if counter == 0 { - counter++ + if !done() { return errors.New("transient error") } return nil