Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

enhance: Release compacted growing segment if in dropped list #37245

Conversation

congqixia
Copy link
Contributor

See also #37205

Previously releasing growing segments could be triggered by two conditions:

  • Sealed Segment with same id is loaded
  • Segment start position is before target checkpoint ts

Which has a worst case that the corresponding sealed segment is compacted and the checkpoint is pinned by a growing l0 segment.

This PR introduces a new rule that: a growing segment could be released if the segment id appeared in current target dropped segment id list.

See also milvus-io#37205

Previously releasing growing segments could be triggered by two
conditions:

- Sealed Segment with same id is loaded
- Segment start position is before target checkpoint ts

Which has a worst case that the corresponding sealed segment is
compacted and the checkpoint is pinned by a growing l0 segment.

This PR introduces a new rule that: a growing segment could be released
if the segment id appeared in current target dropped segment id list.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
@sre-ci-robot sre-ci-robot added approved size/M Denotes a PR that changes 30-99 lines. labels Oct 29, 2024
@mergify mergify bot added dco-passed DCO check passed. kind/enhancement Issues or changes related to enhancement labels Oct 29, 2024
Copy link
Contributor

mergify bot commented Oct 29, 2024

@congqixia cpp-unit-test check failed, comment rerun cpp-unit-test can trigger the job again.

Copy link
Contributor

mergify bot commented Oct 29, 2024

@congqixia E2e jenkins job failed, comment /run-cpu-e2e can trigger the job again.

Copy link
Contributor

mergify bot commented Oct 29, 2024

@congqixia go-sdk check failed, comment rerun go-sdk can trigger the job again.

@congqixia
Copy link
Contributor Author

/run-cpu-e2e

@congqixia
Copy link
Contributor Author

rerun go-sdk

@congqixia
Copy link
Contributor Author

rerun cpp-unit-test

Copy link
Contributor

@XuanYang-cn XuanYang-cn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@sre-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: congqixia, XuanYang-cn

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

Copy link

codecov bot commented Oct 29, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 66.89%. Comparing base (3106384) to head (e2619c2).
Report is 4 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           master   #37245       +/-   ##
===========================================
- Coverage   83.15%   66.89%   -16.27%     
===========================================
  Files        1029      290      -739     
  Lines      157251    25431   -131820     
===========================================
- Hits       130768    17011   -113757     
+ Misses      21324     8420    -12904     
+ Partials     5159        0     -5159     
Components Coverage Δ
Client ∅ <ø> (∅)
Core 66.89% <ø> (∅)
Go ∅ <ø> (∅)

see 1319 files with indirect coverage changes

@mergify mergify bot added the ci-passed label Oct 29, 2024
@sre-ci-robot sre-ci-robot merged commit 9539739 into milvus-io:master Oct 29, 2024
18 of 20 checks passed
congqixia added a commit to congqixia/milvus that referenced this pull request Oct 29, 2024
…-io#37245)

See also milvus-io#37205

Previously releasing growing segments could be triggered by two
conditions:

- Sealed Segment with same id is loaded
- Segment start position is before target checkpoint ts

Which has a worst case that the corresponding sealed segment is
compacted and the checkpoint is pinned by a growing l0 segment.

This PR introduces a new rule that: a growing segment could be released
if the segment id appeared in current target dropped segment id list.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
congqixia added a commit to congqixia/milvus that referenced this pull request Oct 29, 2024
…-io#37245)

See also milvus-io#37205

Previously releasing growing segments could be triggered by two
conditions:

- Sealed Segment with same id is loaded
- Segment start position is before target checkpoint ts

Which has a worst case that the corresponding sealed segment is
compacted and the checkpoint is pinned by a growing l0 segment.

This PR introduces a new rule that: a growing segment could be released
if the segment id appeared in current target dropped segment id list.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
sre-ci-robot pushed a commit that referenced this pull request Oct 30, 2024
…37245) (#37265)

Cherry pick from master
pr: #37245
See also #37205

Previously releasing growing segments could be triggered by two
conditions:

- Sealed Segment with same id is loaded
- Segment start position is before target checkpoint ts

Which has a worst case that the corresponding sealed segment is
compacted and the checkpoint is pinned by a growing l0 segment.

This PR introduces a new rule that: a growing segment could be released
if the segment id appeared in current target dropped segment id list.

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
sre-ci-robot pushed a commit that referenced this pull request Oct 31, 2024
…37245) (#37266)

Cherry-pick from master
pr: #37245
See also #37205

Previously releasing growing segments could be triggered by two
conditions:

- Sealed Segment with same id is loaded
- Segment start position is before target checkpoint ts

Which has a worst case that the corresponding sealed segment is
compacted and the checkpoint is pinned by a growing l0 segment.

This PR introduces a new rule that: a growing segment could be released
if the segment id appeared in current target dropped segment id list.

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
@congqixia congqixia deleted the enhance/release_compacted_growingsegment_ifdropped branch November 4, 2024 02:07
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/enhancement Issues or changes related to enhancement 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