-
Notifications
You must be signed in to change notification settings - Fork 2.5k
[HUDI-6503] Make TableServiceClient's txnManager consistent with Writ… #9255
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
Conversation
|
In addition, before #6732, |
This reverts commit 7cb9cd2.
|
6503.patch.zip |
|
@danny0405 Thank you for the patch, it looks clearer. I closed this PR before, because (1) I think about it again, and think that it’s okay to not pass the txtmanger (2) It caused a lot of unstable tests, but I didn’t locate the reason (Although I don't think this PR will at least cause errors). I'll reopen it and have a look at the test again. |
Can you elaborate a little more why the table service client can hold a separate lock ? |
Because Of course, it is best to use the same lock manager, just like it used to be (before #6732). And CI seems to be stable now by the way. |
|
Okay, a static lock mapping makes sense to me. |
There was a bug before in |
| Option<EmbeddedTimelineService> timelineService) { | ||
| super(context, clientConfig, timelineService); | ||
| Option<EmbeddedTimelineService> timelineService, | ||
| Option<TransactionManager> txnManager) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not sure if it's a good idea to expose this in the constructor, as the client can escape the transaction manager and cause correctness issues in concurrency control.
|
Let's move this out of 0.14.0 because it's only a code refactoring. |
| final SparkRDDWriteClient client3 = getHoodieWriteClient(cfg); | ||
|
|
||
| // Create upserts, schedule cleaning, schedule compaction in parallel | ||
| String fourthInstantTime = HoodieActiveTimeline.createNewInstantTime(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Zouxxyy we are trying to reduce flaky tests before we pick up pace on the reviews. Do you think these changes make the test less flaky? if so, love to land this in a minor PR first if possible.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ok, add it, hope it helpful #10526
|
Close it because it no need, see #9255 (comment) |
…eClient
Change Logs
WriteClientandTableServiceClient's txnManager should be consisttestMultiWriterWithAsyncTableServicesWithConflictinTestHoodieClientMultiWritercaused by #8832HoodieJavaWriteClientImpact
Make TableServiceClient's txnManager consistent with WriteClient
Risk level (write none, low medium or high below)
low
Documentation Update
None
Contributor's checklist