From 9918e1008d68eb5183ebe5ffa5f02f3adf3c7dcf Mon Sep 17 00:00:00 2001 From: "zhenshan.cao" Date: Mon, 17 Feb 2025 01:36:15 +0800 Subject: [PATCH] fix: Fix import failed due to 0 row num (#39887) (#39904) issue: https://github.com/milvus-io/milvus/issues/39885 pr: https://github.com/milvus-io/milvus/pull/39886 --------- Signed-off-by: zhenshan.cao Co-authored-by: yihao.dai --- internal/datanode/importv2/task_import.go | 7 ++++++- internal/datanode/importv2/util.go | 3 +-- internal/datanode/importv2/util_test.go | 6 ++++-- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/internal/datanode/importv2/task_import.go b/internal/datanode/importv2/task_import.go index c89c2a13cb..7d5fc67e93 100644 --- a/internal/datanode/importv2/task_import.go +++ b/internal/datanode/importv2/task_import.go @@ -191,7 +191,12 @@ func (t *ImportTask) importFile(reader importutilv2.Reader) error { } return err } - err = AppendSystemFieldsData(t, data) + rowNum := GetInsertDataRowCount(data, t.GetSchema()) + if rowNum == 0 { + log.Info("0 row was imported, the data may have been deleted", WrapLogFields(t)...) + continue + } + err = AppendSystemFieldsData(t, data, rowNum) if err != nil { return err } diff --git a/internal/datanode/importv2/util.go b/internal/datanode/importv2/util.go index 6b2914b6eb..7a6deaee53 100644 --- a/internal/datanode/importv2/util.go +++ b/internal/datanode/importv2/util.go @@ -169,12 +169,11 @@ func CheckRowsEqual(schema *schemapb.CollectionSchema, data *storage.InsertData) return nil } -func AppendSystemFieldsData(task *ImportTask, data *storage.InsertData) error { +func AppendSystemFieldsData(task *ImportTask, data *storage.InsertData, rowNum int) error { pkField, err := typeutil.GetPrimaryFieldSchema(task.GetSchema()) if err != nil { return err } - rowNum := GetInsertDataRowCount(data, task.GetSchema()) ids := make([]int64, rowNum) start, _, err := task.allocator.Alloc(uint32(rowNum)) if err != nil { diff --git a/internal/datanode/importv2/util_test.go b/internal/datanode/importv2/util_test.go index 9adcd21929..0c5a293151 100644 --- a/internal/datanode/importv2/util_test.go +++ b/internal/datanode/importv2/util_test.go @@ -71,7 +71,8 @@ func Test_AppendSystemFieldsData(t *testing.T) { assert.Equal(t, 0, insertData.Data[pkField.GetFieldID()].RowNum()) assert.Nil(t, insertData.Data[common.RowIDField]) assert.Nil(t, insertData.Data[common.TimeStampField]) - err = AppendSystemFieldsData(task, insertData) + rowNum := GetInsertDataRowCount(insertData, task.GetSchema()) + err = AppendSystemFieldsData(task, insertData, rowNum) assert.NoError(t, err) assert.Equal(t, count, insertData.Data[pkField.GetFieldID()].RowNum()) assert.Equal(t, count, insertData.Data[common.RowIDField].RowNum()) @@ -84,7 +85,8 @@ func Test_AppendSystemFieldsData(t *testing.T) { assert.Equal(t, 0, insertData.Data[pkField.GetFieldID()].RowNum()) assert.Nil(t, insertData.Data[common.RowIDField]) assert.Nil(t, insertData.Data[common.TimeStampField]) - err = AppendSystemFieldsData(task, insertData) + rowNum = GetInsertDataRowCount(insertData, task.GetSchema()) + err = AppendSystemFieldsData(task, insertData, rowNum) assert.NoError(t, err) assert.Equal(t, count, insertData.Data[pkField.GetFieldID()].RowNum()) assert.Equal(t, count, insertData.Data[common.RowIDField].RowNum())