Skip to content

[#2739] feat(server): Trigger flush when there are too many blocks in shuffle buffer#2744

Open
xianjingfeng wants to merge 3 commits intoapache:masterfrom
xianjingfeng:issue_2739
Open

[#2739] feat(server): Trigger flush when there are too many blocks in shuffle buffer#2744
xianjingfeng wants to merge 3 commits intoapache:masterfrom
xianjingfeng:issue_2739

Conversation

@xianjingfeng
Copy link
Copy Markdown
Member

What changes were proposed in this pull request?

Trigger flush when there are too many blocks in shuffle buffer.

Why are the changes needed?

Fix: #2739
Prevent memory overflow

Does this PR introduce any user-facing change?

set rss.server.buffer.blockCount.capacity

How was this patch tested?

UT

@xianjingfeng xianjingfeng requested review from roryqi and zuston March 25, 2026 07:28
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 25, 2026

Test Results

 3 185 files  + 33   3 185 suites  +33   6h 51m 39s ⏱️ + 1m 38s
 1 247 tests +  1   1 244 ✅ ±  0   1 💤 ±0  1 ❌ ±0  1 🔥 +1 
15 804 runs  +193  15 787 ✅ +193  15 💤 ±0  1 ❌  - 1  1 🔥 +1 

For more details on these failures and errors, see this check.

Results for commit f3f4b42. ± Comparison against base commit b80940d.

♻️ This comment has been updated with latest results.

Copy link
Copy Markdown
Member

@zuston zuston left a comment

Choose a reason for hiding this comment

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

Could you provide more context about this mechanism? My understanding is that we only need to enforce a limit on total memory usage. Even if there are many blocks, as long as each block is small, it shouldn’t pose a problem.

@xianjingfeng
Copy link
Copy Markdown
Member Author

Could you provide more context about this mechanism? My understanding is that we only need to enforce a limit on total memory usage. Even if there are many blocks, as long as each block is small, it shouldn’t pose a problem.

If there are many small blocks in memory, the number of ShufflePartitionedBlock instances will be large, and the heap memory will not be able to hold them all.

@zuston
Copy link
Copy Markdown
Member

zuston commented Mar 31, 2026

Could you provide more context about this mechanism? My understanding is that we only need to enforce a limit on total memory usage. Even if there are many blocks, as long as each block is small, it shouldn’t pose a problem.

If there are many small blocks in memory, the number of ShufflePartitionedBlock instances will be large, and the heap memory will not be able to hold them all.

Got it.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Trigger flush when there are too many blocks in shuffle buffer

2 participants