Skip to content

Conversation

@congqixia
Copy link
Contributor

Cherry-pick from master
pr: #46117
Related to #46098
This fix addresses a bug where the segment loader incorrectly determined whether scalar fields have raw data in their indexes, leading to unnecessary field data loading or skipping indexed raw data retrieval.

  • Build field_ids vector that handles both single field and column group cases (when child_fields_size() > 0)
  • Move the mmap setting and index_has_raw_data checks before the skip decision, iterating over the correctly built field_ids
  • Fix the boolean AND logic in both Load() and LoadColumnGroup() to properly check if ALL fields in the group have raw data in their indexes

This bug was hiding the root cause of issue #46098, where QueryNode panics when outputting timestamptz data from scalar index with raw data.

…o#46117)

Related to milvus-io#46098
This fix addresses a bug where the segment loader incorrectly determined
whether scalar fields have raw data in their indexes, leading to
unnecessary field data loading or skipping indexed raw data retrieval.

- Build `field_ids` vector that handles both single field and column
group cases (when `child_fields_size() > 0`)
- Move the mmap setting and index_has_raw_data checks before the skip
decision, iterating over the correctly built `field_ids`
- Fix the boolean AND logic in both `Load()` and `LoadColumnGroup()` to
properly check if ALL fields in the group have raw data in their indexes

This bug was hiding the root cause of issue milvus-io#46098, where QueryNode
panics when outputting timestamptz data from scalar index with raw data.

Signed-off-by: Congqi Xia <[email protected]>
@congqixia congqixia added this to the 2.6.8 milestone Dec 6, 2025
@sre-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: congqixia

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sre-ci-robot sre-ci-robot added approved size/M Denotes a PR that changes 30-99 lines. labels Dec 6, 2025
@mergify mergify bot added dco-passed DCO check passed. kind/bug Issues or changes related a bug labels Dec 6, 2025
@sre-ci-robot
Copy link
Contributor

[ci-v2-notice]
Notice: We are gradually rolling out the new ci-v2 system.

  • Legacy CI jobs remain unaffected, you can just ignore ci-v2 if you don't want to run it.
  • Additional "ci-v2/*" checkers will run for this PR to ensure the new ci-v2 system is working as expected.
  • For tests that exist in both v1 and v2, passing in either system is considered PASS.

To rerun ci-v2 checks, comment with:

  • /ci-rerun-code-check // for ci-v2/code-check
  • /ci-rerun-build // for ci-v2/build
  • /ci-rerun-ut-integration // for ci-v2/ut-integration
  • /ci-rerun-ut-go // for ci-v2/ut-go
  • /ci-rerun-ut-cpp // for ci-v2/ut-cpp
  • /ci-rerun-ut // for all ci-v2/ut-integration, ci-v2/ut-go, ci-v2/ut-cpp
  • /ci-rerun-e2e-arm // for ci-v2/e2e-arm [master branch only]
  • /ci-rerun-e2e-default // for ci-v2/e2e-default [master branch only]

If you have any questions or requests, please contact @zhikunyao.

@sre-ci-robot
Copy link
Contributor

[INFO] PR Label Summary by Default
[SUCCESS] PR #46117 merged to master

Use /refresh-label to update related check and label manually

@codecov
Copy link

codecov bot commented Dec 6, 2025

Codecov Report

❌ Patch coverage is 0% with 28 lines in your changes missing coverage. Please review.
✅ Project coverage is 76.09%. Comparing base (8471565) to head (99d46b6).
⚠️ Report is 13 commits behind head on 2.6.

Files with missing lines Patch % Lines
...rnal/core/src/segcore/ChunkedSegmentSealedImpl.cpp 0.00% 28 Missing ⚠️
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##              2.6   #46155      +/-   ##
==========================================
+ Coverage   73.58%   76.09%   +2.51%     
==========================================
  Files        1356     1875     +519     
  Lines      210761   291473   +80712     
==========================================
+ Hits       155079   221787   +66708     
- Misses      48311    62297   +13986     
- Partials     7371     7389      +18     
Components Coverage Δ
Client 78.03% <ø> (ø)
Core 82.75% <0.00%> (∅)
Go 74.22% <ø> (-0.05%) ⬇️
Files with missing lines Coverage Δ
...rnal/core/src/segcore/ChunkedSegmentSealedImpl.cpp 60.04% <0.00%> (ø)

... and 544 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@mergify mergify bot added the ci-passed label Dec 6, 2025
@sparknack
Copy link
Contributor

/lgtm

@sre-ci-robot
Copy link
Contributor

[INFO] PR Label Summary by Default
[SUCCESS] PR #46117 merged to master

Use /refresh-label to update related check and label manually

@sre-ci-robot sre-ci-robot merged commit 94091bc into milvus-io:2.6 Dec 8, 2025
15 of 19 checks passed
@congqixia congqixia deleted the cp26/46117 branch December 8, 2025 02:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved ci-passed dco-passed DCO check passed. kind/bug Issues or changes related a bug lgtm size/M Denotes a PR that changes 30-99 lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants