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

[Bug]: non-stop repeated segment compaction #37549

Open
1 task done
zhengbuqian opened this issue Nov 8, 2024 · 5 comments
Open
1 task done

[Bug]: non-stop repeated segment compaction #37549

zhengbuqian opened this issue Nov 8, 2024 · 5 comments
Assignees
Labels
kind/bug Issues or changes related a bug priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Milestone

Comments

@zhengbuqian
Copy link
Contributor

zhengbuqian commented Nov 8, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Environment

- Milvus version: master

Current Behavior

Used scripts in https://pastebin.com/8KLQ8WyT, to simply insert 200M data. After compaction, 5 segments are left, each with ~400k rows. Then those 5 segments compact indefinitely.

See birdwatcher segment results here: https://pastebin.com/aZ6M7Y2U

Segment A, B, C, D, E was compacted inito A1, B1, C1, D1, E1, then A2, B2, C2, D2, E2, ... Each time compaction happens the old index was dropped and the new index was recreated.

Likely due to: the compaction trigger thought A+B can be merged into a larger segment say F, but the actual compactor thought F would be too large and simply writes A and B to A1 and B1 unchanged.

Expected Behavior

No response

Steps To Reproduce

No response

Milvus Log

No response

Anything else?

No response

@zhengbuqian zhengbuqian added kind/bug Issues or changes related a bug needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 8, 2024
@zhengbuqian zhengbuqian added the priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. label Nov 8, 2024
@XuanYang-cn XuanYang-cn added this to the 2.5.0 milestone Nov 8, 2024
@XuanYang-cn
Copy link
Contributor

/assign

@yanliang567 yanliang567 added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Nov 8, 2024
@yanliang567 yanliang567 removed their assignment Nov 8, 2024
sre-ci-robot pushed a commit that referenced this issue Nov 8, 2024
@xiaofan-luan
Copy link
Collaborator

@XuanYang-cn
should we add another restriction.
if a segment did a single compaction in like last 10 mins it shouldn't be triggered again.
So we can protect some corner case? the size calculation might not be very accurate

@XuanYang-cn
Copy link
Contributor

@XuanYang-cn should we add another restriction. if a segment did a single compaction in like last 10 mins it shouldn't be triggered again. So we can protect some corner case? the size calculation might not be very accurate

This is not a single compaction, it's m -> m, actually it's a critical bug of mix compactor, that DN can't compact segment to targeted size.

I'll add more strict tests to cover the output target size. No previous tests have tested it before, hence the changes in storage could easily broke the output of mix compactor.

@XuanYang-cn
Copy link
Contributor

/assign @zhengbuqian
Should be fix, please help verify

@XuanYang-cn
Copy link
Contributor

/unassign

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug Issues or changes related a bug priority/critical-urgent Highest priority. Must be actively worked on as someone's top priority right now. triage/accepted Indicates an issue or PR is ready to be actively worked on.
Projects
None yet
Development

No branches or pull requests

4 participants