mirror of
https://gitee.com/milvus-io/milvus.git
synced 2025-12-06 17:18:35 +08:00
enhance: [StorageV2] Release record and close reader (#42983)
Related to #39173 This PR - Close packed reader after sort - Release arrow.Record preventing memory leakage - Invoke `pack_reader->Close()` for CloseReader --------- Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
This commit is contained in:
parent
238bd30f42
commit
9b06ecb72f
@ -138,6 +138,7 @@ CloseReader(CPackedReader c_packed_reader) {
|
||||
auto packed_reader =
|
||||
static_cast<milvus_storage::PackedRecordBatchReader*>(
|
||||
c_packed_reader);
|
||||
packed_reader->Close();
|
||||
delete packed_reader;
|
||||
return milvus::SuccessCStatus();
|
||||
} catch (std::exception& e) {
|
||||
|
||||
@ -242,6 +242,7 @@ func (st *statsTask) sort(ctx context.Context) ([]*datapb.FieldBinlog, error) {
|
||||
log.Warn("error creating insert binlog reader", zap.Error(err))
|
||||
return nil, err
|
||||
}
|
||||
defer rr.Close()
|
||||
|
||||
rrs := []storage.RecordReader{rr}
|
||||
numValidRows, err := storage.Sort(st.req.GetBinlogMaxSize(), st.req.GetSchema(), rrs, srw, predicate)
|
||||
|
||||
@ -68,6 +68,13 @@ func Sort(batchSize uint64, schema *schemapb.CollectionSchema, rr []RecordReader
|
||||
return 0, nil
|
||||
}
|
||||
|
||||
// release cgo records
|
||||
defer func() {
|
||||
for _, rec := range records {
|
||||
rec.Release()
|
||||
}
|
||||
}()
|
||||
|
||||
pkField, err := typeutil.GetPrimaryFieldSchema(schema)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user