From 3d8871b30e30fa3bb361902a6b3ec45d303a18f1 Mon Sep 17 00:00:00 2001 From: yah01 Date: Wed, 16 Aug 2023 16:30:18 +0800 Subject: [PATCH] Fix data race while updating segment version (#26387) Signed-off-by: yah01 --- internal/querynodev2/segments/segment.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/querynodev2/segments/segment.go b/internal/querynodev2/segments/segment.go index 9db5d1f881..a97ef2d74d 100644 --- a/internal/querynodev2/segments/segment.go +++ b/internal/querynodev2/segments/segment.go @@ -79,7 +79,7 @@ type baseSegment struct { shard string collectionID int64 typ SegmentType - version int64 + version *atomic.Int64 startPosition *msgpb.MsgPosition // for growing segment release bloomFilterSet *pkoracle.BloomFilterSet } @@ -91,7 +91,7 @@ func newBaseSegment(id, partitionID, collectionID int64, shard string, typ Segme collectionID: collectionID, shard: shard, typ: typ, - version: version, + version: atomic.NewInt64(version), startPosition: startPosition, bloomFilterSet: pkoracle.NewBloomFilterSet(id, partitionID, typ), } @@ -123,11 +123,11 @@ func (s *baseSegment) StartPosition() *msgpb.MsgPosition { } func (s *baseSegment) Version() int64 { - return s.version + return s.version.Load() } func (s *baseSegment) UpdateVersion(version int64) { - s.version = version + s.version.Store(version) } func (s *baseSegment) UpdateBloomFilter(pks []storage.PrimaryKey) {