From a8bd9bea39ac3f52c9e7c017fed6a81a322ddeda Mon Sep 17 00:00:00 2001 From: Ted Xu Date: Fri, 24 May 2024 10:33:40 +0800 Subject: [PATCH] fix: adding blob memory size in binlog serde (#33324) See: #33280 Signed-off-by: Ted Xu --- internal/storage/serde.go | 8 +++++--- internal/storage/serde_test.go | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/internal/storage/serde.go b/internal/storage/serde.go index 636e505b83..ba5256c6d1 100644 --- a/internal/storage/serde.go +++ b/internal/storage/serde.go @@ -925,9 +925,10 @@ func (bsw *BinlogStreamWriter) Finalize() (*Blob, error) { return nil, err } return &Blob{ - Key: strconv.Itoa(int(bsw.fieldSchema.FieldID)), - Value: b.Bytes(), - RowNum: int64(bsw.rw.numRows), + Key: strconv.Itoa(int(bsw.fieldSchema.FieldID)), + Value: b.Bytes(), + RowNum: int64(bsw.rw.numRows), + MemorySize: int64(bsw.memorySize), }, nil } @@ -1016,6 +1017,7 @@ func NewBinlogSerializeWriter(schema *schemapb.CollectionSchema, partitionID, se if !ok { return nil, 0, errors.New(fmt.Sprintf("serialize error on type %s", types[fid])) } + writers[fid].memorySize += int(typeEntry.sizeof(e)) memorySize += typeEntry.sizeof(e) } } diff --git a/internal/storage/serde_test.go b/internal/storage/serde_test.go index 21a871cb5e..0d9306069d 100644 --- a/internal/storage/serde_test.go +++ b/internal/storage/serde_test.go @@ -160,6 +160,7 @@ func TestBinlogSerializeWriter(t *testing.T) { blob, err := w.Finalize() assert.NoError(t, err) assert.NotNil(t, blob) + assert.True(t, blob.MemorySize > 0) newblobs[i] = blob i++ }