8000 feat(frontend): plan backfill order strategy after the planner phase, instead of binding phase by kwannoel · Pull Request #21813 · risingwavelabs/risingwave · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

feat(frontend): plan backfill order strategy after the planner phase, instead of binding phase #21813

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

Merged
merged 2 commits into from
May 15, 2025

Conversation

kwannoel
Copy link
Contributor
@kwannoel kwannoel commented May 11, 2025

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

What's changed and what's your intention?

This PR is in preparation for #21814. To auto-derive backfill order, we need the stream plan, which is produced only after the planning phase.

So we do two things here:

  1. Refactor the planning for backfill order strategy after binding.
  2. Move the module for backfill order strategy planning into the optimizer. This makes more sense, since this is no longer purely binding user input. Rather we are optimizing the backfill order.

We intentionally keep this PR separate from #21814, since we refactor file paths. To keep diffs clean, we should have the files in separate PRs.

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.
  • I have checked the Release Timeline and Currently Supported Versions to determine which release branches I need to cherry-pick this PR into.

Documentation

  • My PR needs documentation updates.
Release note

@kwannoel kwannoel changed the title bind backfill order control after plan created feat(frontend): bind backfill order control after plan created May 13, 2025
@github-actions github-actions bot added type/feature Type: New feature. and removed Invalid PR Title labels May 13, 2025
@kwannoel kwannoel changed the title feat(frontend): bind backfill order control after plan created feat(frontend): plan backfill order strategy after the planner phase, instead of binding phase May 13, 2025
@kwannoel kwannoel marked this pull request as ready for review May 13, 2025 14:51
@kwannoel kwannoel requested review from chenzl25 and wenym1 May 13, 2025 14:51
Copy link
Contributor
@chenzl25 chenzl25 left a comment

Choose a reason for hiding this comment

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

LGTM

@@ -35,7 +35,7 @@ use crate::session::SessionImpl;
/// We only bind tables, materialized views and sources.
/// Queries won't bind duplicate relations in the same query context.
/// But backfill order strategy can have duplicate relations.
pub fn bind_backfill_order_strategy(
pub fn plan_backfill_order_strategy(
Copy link
Contributor

Choose a reason for hiding this comment

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

Need to adjust the comments above?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Will fix it in the downstream PR, otherwise leads to a lot of conflicts

@kwannoel kwannoel enabled auto-merge May 15, 2025 08:24
@kwannoel kwannoel added this pull request to the merge queue May 15, 2025
Merged via the queue into main with commit efe7476 May 15, 2025
28 of 29 checks passed
@kwannoel kwannoel deleted the kwannoel/auto branch May 15, 2025 08:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type/feature Type: New feature.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants
0