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 <zhenshan.cao@zilliz.com>
Co-authored-by: yihao.dai <yihao.dai@zilliz.com>
This commit is contained in:
zhenshan.cao 2025-02-17 01:36:15 +08:00 committed by GitHub
parent f0964f769d
commit 9918e1008d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 5 deletions

View File

@ -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
}

View File

@ -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 {

View File

@ -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())