-
Notifications
You must be signed in to change notification settings - Fork 594
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: always insert a exchange singleton on top dml #4752
Conversation
After #4708, now we are able to distribute dml by faciliate it as MPP. However, according to #3269 , I'm working on to execute root fragment of MPP in FE, while Insert / Update / Delete now can not execute in FE (?), so this is a blocked of #4688. I plan to hack and insert a Exchange Singleton on dml to solve this. This PR shows what will be, I think the dirty is controllable for now. cc @chenzl25 @liurenjie1024 @st1page @fuyufjh , What's your opinion? |
LGTM. |
+1 |
I would like to leave the top node distributed and support this kind of plan in scheduler |
Update / Delete / Insert can be distributed if we support it, Add a singleton exchange will not change that, cuz previously we use if Update / Delete / Insert is distributed, we still need a root singleton to get merged reported results. If currently we do not want to add this singleton, then we can not execute it in FE, unless we hack in scheduler that "unlike DQL, this kind of query (DML) will schedule root fragment to CN ", which I think may be more dirty. |
LGTM |
OK, make sense to me |
83aeaf1
to
ead0623
Compare
ead0623
to
9e651fd
Compare
Seems like encounter some problems relates to e2e deterministic test, construct a minimal example in #4788. May wait to see any progress. |
9e651fd
to
373a91e
Compare
Still not working? I think @wangrunji0408 has resolved the issue in madsim? |
Yes. But this looks like a new problem in parallel e2e:
|
I will take a look at this. Tested success for serialize e2e locally. |
373a91e
to
689c4f8
Compare
I think we may need to add some flush commands in parallel e2e to support dml. |
The root cause of this problem is: #4947 . Errors may happen after QueryResultFetcher starts to work. I add a if-statement to workaround this, only for this PR. |
756532a
to
cf12fad
Compare
removed can-merge as it's a draft |
cf12fad
to
3929d64
Compare
Codecov Report
@@ Coverage Diff @@
## main #4752 +/- ##
==========================================
- Coverage 74.21% 74.12% -0.09%
==========================================
Files 882 883 +1
Lines 134837 135315 +478
==========================================
+ Hits 100069 100304 +235
- Misses 34768 35011 +243
Flags with carried forward coverage won't be shown. Click here to find out more.
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
Currently only a demo and I'm not sure whether which way we should do.
Checklist
./risedev check
(or alias,./risedev c
)Documentation
If your pull request contains user-facing changes, please specify the types of the changes, and create a release note. Otherwise, please feel free to remove this section.
Types of user-facing changes
Please keep the types that apply to your changes, and remove those that do not apply.
Release note
Please create a release note for your changes. In the release note, focus on the impact on users, and mention the environment or conditions where the impact may occur.
Refer to a related PR or issue link (optional)