Skip to content

[CELEBORN-2287] Split mode should be HARD_SPLIT when disk is full#3653

Closed
zaynt4606 wants to merge 4 commits intoapache:mainfrom
zaynt4606:clb2287
Closed

[CELEBORN-2287] Split mode should be HARD_SPLIT when disk is full#3653
zaynt4606 wants to merge 4 commits intoapache:mainfrom
zaynt4606:clb2287

Conversation

@zaynt4606
Copy link
Copy Markdown
Contributor

@zaynt4606 zaynt4606 commented Apr 7, 2026

What changes were proposed in this pull request?

Change the split mode to HARD_SPLIT when disk is full.

Why are the changes needed?

When the disk is already in a full state, continuous writing data in SOFT_SPLIT mode may cause the reserved space to be filled up as well.

Does this PR resolve a correctness bug?

No.

Does this PR introduce any user-facing change?

No.

How was this patch tested?

Manual test and UT.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates worker-side partition split decision logic so that when a disk is detected as full, the split response is always HARD_SPLIT (i.e., not downgraded to SOFT_SPLIT based on split mode).

Changes:

  • Return StatusCode.HARD_SPLIT immediately when diskFull is true and the disk file length meets the minimum split size.
  • Keep existing split-threshold behavior for primary partitions (SOFT vs HARD based on PartitionSplitMode and max size).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@SteNicholas
Copy link
Copy Markdown
Member

@zaynt4606, please update the description of this pull request.

@SteNicholas SteNicholas changed the title [CELEBORN-2287] Split mode should be hard when diskFull [CELEBORN-2287] Split mode should be hard when disk is full Apr 9, 2026
@SteNicholas SteNicholas changed the title [CELEBORN-2287] Split mode should be hard when disk is full [CELEBORN-2287] Split mode should be HARD_SPLIT when disk is full Apr 9, 2026
@SteNicholas SteNicholas requested a review from Copilot April 9, 2026 12:37
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 2 out of 2 changed files in this pull request and generated 2 comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Copy link
Copy Markdown
Contributor

@RexXiong RexXiong left a comment

Choose a reason for hiding this comment

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

LGTM. The PR has been significantly improved with:

  1. Comprehensive unit tests - Covers all key scenarios including disk full, split enabled/disabled, primary/replica, and SOFT/HARD modes
  2. Cleaner code structure - Using splitStatus variable makes the logic more readable
  3. Correct fix - Forces HARD_SPLIT when disk is full to prevent reserved space from being exhausted

Thanks for adding the tests!


by claude

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copy link
Copy Markdown
Member

@SteNicholas SteNicholas left a comment

Choose a reason for hiding this comment

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

LGTM.

SteNicholas pushed a commit that referenced this pull request Apr 11, 2026
### What changes were proposed in this pull request?

Change the split mode to `HARD_SPLIT` when disk is full.

### Why are the changes needed?

When the disk is already in a full state, continuous writing data in `SOFT_SPLIT` mode may cause the reserved space to be filled up as well.

### Does this PR resolve a correctness bug?

No.

### Does this PR introduce _any_ user-facing change?

No.

### How was this patch tested?

Manual test and UT.

Closes #3653 from zaynt4606/clb2287.

Authored-by: zhengtao <shuaizhentao.szt@alibaba-inc.com>
Signed-off-by: SteNicholas <programgeek@163.com>
(cherry picked from commit 913d027)
Signed-off-by: SteNicholas <programgeek@163.com>
@SteNicholas
Copy link
Copy Markdown
Member

Merged to main(v0.7.0) and branch-0.6(v0.6.3).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants