From 6494c75d31f5d28593dfc4f12e73216ff557f540 Mon Sep 17 00:00:00 2001 From: Spade A <71589810+SpadeA-Tang@users.noreply.github.com> Date: Thu, 23 Oct 2025 19:52:05 +0800 Subject: [PATCH] fix: collection level MMAP does not take effect for STRUCT (#44996) issue: https://github.com/milvus-io/milvus/issues/42148 Signed-off-by: SpadeA --- internal/querycoordv2/task/utils.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/internal/querycoordv2/task/utils.go b/internal/querycoordv2/task/utils.go index 709a662ef9..62307ad3a8 100644 --- a/internal/querycoordv2/task/utils.go +++ b/internal/querycoordv2/task/utils.go @@ -145,7 +145,6 @@ func packLoadSegmentRequest( loadScope = querypb.LoadScope_Delta } - // todo(SpadeA): consider struct fields schema = applyCollectionMmapSetting(schema, collectionProperties) return &querypb.LoadSegmentsRequest{ @@ -285,5 +284,16 @@ func applyCollectionMmapSetting(schema *schemapb.CollectionSchema, }) } } + for _, structField := range schema.GetStructArrayFields() { + for _, field := range structField.GetFields() { + if exist && + !common.FieldHasMmapKey(schema, field.GetFieldID()) { + field.TypeParams = append(field.TypeParams, &commonpb.KeyValuePair{ + Key: common.MmapEnabledKey, + Value: strconv.FormatBool(collectionMmapEnabled), + }) + } + } + } return schema }