Skip to content

Commit 7901971

Browse files
authored
fix: show tag values skip sid not found in index (openGemini#583)
Signed-off-by: xiangyu5632 <[email protected]>
1 parent 16d6fac commit 7901971

File tree

2 files changed

+38
-13
lines changed

2 files changed

+38
-13
lines changed

engine/immutable/sequence_iterator.go

+4-6
Original file line numberDiff line numberDiff line change
@@ -148,14 +148,12 @@ func (itr *sequenceIterator) iterateFile(f TSSPFile) error {
148148
offsets = append(offsets, uint32(len(buf)))
149149
for k := 0; k < len(offsets)-1; k++ {
150150
err = itr.handler.NextChunkMeta(buf[offsets[k]:offsets[k+1]])
151-
if err != nil {
152-
return err
153-
}
154-
155-
// sid not found in index, skip
156-
if errno.Equal(err, errno.ErrSearchSeriesKey) {
151+
if err != nil && errno.Equal(err, errno.ErrSearchSeriesKey) {
152+
// sid not found in index, skip
157153
itr.logger.Warn("sequenceIterator.iterateFile NextChunkMeta search sid failed", zap.Error(err))
158154
continue
155+
} else if err != nil {
156+
return err
159157
}
160158

161159
// reach the limit

engine/immutable/sequence_iterator_test.go

+34-7
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,9 @@ func TestSequenceIterator_Run(t *testing.T) {
8888
ReadChunkMetasFn: func(f TSSPFile, idx int) ([]byte, []uint32, error) { return make([]byte, 10), make([]uint32, 10), nil },
8989
}
9090

91+
errSearchSeriesKey := errno.NewError(errno.ErrSearchSeriesKey)
92+
mockErr := errors.New("mock error")
93+
9194
for _, testcase := range []struct {
9295
Name string
9396
Handler SequenceIteratorHandler
@@ -115,14 +118,38 @@ func TestSequenceIterator_Run(t *testing.T) {
115118
},
116119
Err: io.EOF,
117120
},
121+
{
122+
Name: "ErrSearchSeriesKey",
123+
Handler: &MockSequenceIteratorHandler{
124+
BeginFn: func() {},
125+
FinishFn: func() {},
126+
NextFileFn: func(file TSSPFile) {},
127+
NextChunkMetaFn: func(bytes []byte) error { return errSearchSeriesKey },
128+
LimitedFn: func() bool { return false },
129+
},
130+
Err: nil,
131+
},
132+
{
133+
Name: "Unknown Error",
134+
Handler: &MockSequenceIteratorHandler{
135+
BeginFn: func() {},
136+
FinishFn: func() {},
137+
NextFileFn: func(file TSSPFile) {},
138+
NextChunkMetaFn: func(bytes []byte) error { return mockErr },
139+
LimitedFn: func() bool { return false },
140+
},
141+
Err: mockErr,
142+
},
118143
} {
119-
iterator := NewSequenceIterator(testcase.Handler, logger.NewLogger(errno.ModuleUnknown).SetZapLogger(zap.NewNop()))
120-
iterator.SetChunkMetasReader(metaReader)
121-
iterator.AddFiles(tsspFiles)
122-
err := iterator.Run()
123-
if !errors.Is(err, testcase.Err) {
124-
t.Fatalf("SequenceIterator.Run failed, actual %v, expected: %v", err, testcase.Err)
125-
}
144+
t.Run(testcase.Name, func(t *testing.T) {
145+
iterator := NewSequenceIterator(testcase.Handler, logger.NewLogger(errno.ModuleUnknown).SetZapLogger(zap.NewNop()))
146+
iterator.SetChunkMetasReader(metaReader)
147+
iterator.AddFiles(tsspFiles)
148+
err := iterator.Run()
149+
if !errors.Is(err, testcase.Err) {
150+
t.Fatalf("SequenceIterator.Run failed, actual %v, expected: %v", err, testcase.Err)
151+
}
152+
})
126153
}
127154

128155
}

0 commit comments

Comments
 (0)