Skip to content

Commit 05516f3

Browse files
authored
fix: writing to disk ,some records will be dropped when the point on… (openGemini#609)
Signed-off-by: PennyYoon <[email protected]>
1 parent 1d2b690 commit 05516f3

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

engine/immutable/column_builder.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ func DecodeColumnHeader(col *record.ColVal, data []byte, colType uint8) ([]byte,
487487
}
488488

489489
func CanEncodeOneRowMode(col *record.ColVal) bool {
490-
return col.Len == 1 && len(col.Val) < 16
490+
return col.Len == 1 && len(col.Val) < 16 && len(col.Val) > 0
491491
}
492492

493493
func rewriteType(col *record.ColVal, typ uint8) uint8 {

engine/immutable/merge_tool_test.go

+5
Original file line numberDiff line numberDiff line change
@@ -922,6 +922,11 @@ func TestMergeTool_OneRowMode(t *testing.T) {
922922

923923
rg.setBegin(begin).incrBegin(0)
924924
mh.addRecord(100, rg.generate(schemas, 1001))
925+
rec := rg.generate(schemas, 1)
926+
col := rec.Column(3)
927+
col.Init()
928+
col.AppendStrings("")
929+
mh.addRecord(101, rec)
925930
require.NoError(t, mh.saveToOrder())
926931

927932
rg.setBegin(begin - 1).incrBegin(5)

engine/immutable/reader_test.go

+1-6
Original file line numberDiff line numberDiff line change
@@ -632,12 +632,7 @@ func TestEncodeOneRowMode(t *testing.T) {
632632
codec.dataCol.Init()
633633
codec.dataCol.AppendIntegerNull()
634634
codec.encode(t)
635-
codec.assertEncodeDataSize(t, 1)
636-
637-
DecodeColumnOfOneValue(codec.buf[1:], other, influx.Field_Type_Int)
638-
require.Equal(t, 1, other.Len)
639-
require.Equal(t, 1, other.NilCount)
640-
require.Equal(t, 0, len(other.Val))
635+
codec.assertEncodeDataSize(t, 5)
641636

642637
var s = ""
643638
for i := 0; i < 50; i++ {

0 commit comments

Comments
 (0)