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

refactor(source): remove chunk splitting logic in apply_rate_limit #19826

Merged
merged 1 commit into from
Jan 3, 2025

Conversation

stdrc
Copy link
Member

@stdrc stdrc commented Dec 17, 2024

I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.

What's changed and what's your intention?

After #19698, we can expect chunks yielded to SourceExecutors to be smaller than SourceCtrlOpts::chunk_size, so we don't need to split chunks in apply_rate_limit (used by FetchExecutor, FsSourceExecutor, SourceBackfillExecutor and SourceExecutor) anymore.

This PR removes the chunk splitting logic from apply_rate_limit.

Checklist

  • I have written necessary rustdoc comments.
  • I have added necessary unit tests and integration tests.
  • I have added test labels as necessary.
  • I have added fuzzing tests or opened an issue to track them.
  • My PR contains breaking changes.
  • My PR changes performance-critical code, so I will run (micro) benchmarks and present the results.
  • My PR contains critical fixes that are necessary to be merged into the latest release.

Documentation

  • My PR needs documentation updates.
Release note

@stdrc stdrc changed the title remove chunk splitting logic in apply_rate_limit refactor(source): remove chunk splitting logic in apply_rate_limit Dec 17, 2024
@stdrc stdrc marked this pull request as ready for review December 17, 2024 08:16
@stdrc stdrc force-pushed the rc/respect-chunk-size-limit branch from 9fc46c4 to 10e0ea4 Compare December 18, 2024 02:48
@stdrc stdrc requested a review from a team as a code owner December 18, 2024 02:48
@stdrc stdrc force-pushed the rc/simplify-apply-rate-limit branch 2 times, most recently from 1911360 to 489ce16 Compare December 18, 2024 05:33
@stdrc stdrc force-pushed the rc/respect-chunk-size-limit branch from eeeebb4 to 486f99c Compare December 18, 2024 06:08
@stdrc stdrc force-pushed the rc/simplify-apply-rate-limit branch 3 times, most recently from ab4d67f to 2ad77a8 Compare December 18, 2024 09:23
@stdrc stdrc force-pushed the rc/respect-chunk-size-limit branch from d986091 to b1a892c Compare December 19, 2024 05:34
@stdrc stdrc force-pushed the rc/simplify-apply-rate-limit branch from 2ad77a8 to 1069774 Compare December 19, 2024 05:35
@stdrc stdrc force-pushed the rc/simplify-apply-rate-limit branch from 1069774 to 3f15274 Compare December 19, 2024 05:37
@stdrc stdrc changed the base branch from rc/respect-chunk-size-limit to rc/connector-parser-renaming December 19, 2024 05:37
@stdrc stdrc force-pushed the rc/simplify-apply-rate-limit branch from 3f15274 to bd6796d Compare December 19, 2024 05:40
@stdrc stdrc changed the base branch from rc/connector-parser-renaming to rc/respect-chunk-size-limit December 19, 2024 05:40
Base automatically changed from rc/respect-chunk-size-limit to main December 19, 2024 07:13
@graphite-app graphite-app bot requested a review from a team December 19, 2024 07:13
@stdrc stdrc force-pushed the rc/simplify-apply-rate-limit branch from bd6796d to b2a8ac1 Compare December 31, 2024 06:09
Copy link
Member

@xxchan xxchan left a comment

Choose a reason for hiding this comment

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

rubber stamp

@stdrc stdrc requested a review from MrCroxx January 2, 2025 07:16
Copy link
Contributor

@tabVersion tabVersion left a comment

Choose a reason for hiding this comment

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

rest LGTM

src/common/src/array/stream_chunk.rs Outdated Show resolved Hide resolved
@stdrc stdrc force-pushed the rc/simplify-apply-rate-limit branch from b2a8ac1 to 58d0c4f Compare January 2, 2025 08:03
@stdrc stdrc force-pushed the rc/simplify-apply-rate-limit branch from 58d0c4f to e0337bb Compare January 3, 2025 07:20
Copy link
Contributor

@MrCroxx MrCroxx left a comment

Choose a reason for hiding this comment

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

Rest LGTM.

Comment on lines +363 to 366
// Compute the required permits of this chunk for rate limiting.
pub fn compute_rate_limit_chunk_permits(&self) -> u64 {
self.capacity() as _
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Can we remove it since there is no limit for burst?

Copy link
Member Author

Choose a reason for hiding this comment

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

I slightly prefer keeping this, because if we don't have this, we may have difficulty to decide between chunk.capacity() and chunk.cardinality() later.

@stdrc stdrc added this pull request to the merge queue Jan 3, 2025
Merged via the queue into main with commit 355c4a0 Jan 3, 2025
29 of 30 checks passed
@stdrc stdrc deleted the rc/simplify-apply-rate-limit branch January 3, 2025 09:03
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.

4 participants