-
Notifications
You must be signed in to change notification settings - Fork 3.7k
[Fix](StreamingJob) fix the first split task scheduled and fe restart remainsplit relay problem #59883
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
|
run buildall |
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
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.
Pull request overview
This PR fixes issues in the StreamingJob functionality related to split task scheduling and FE restart scenarios. Specifically, it addresses the problem where after a job's first split task is scheduled from the initial offset, if FE restarts while the task is running or failed, the split needs to be properly restored from metadata.
Changes:
- Enhanced logging to include complete split information
- Improved error handling for split deserialization failures
- Added logic to handle offset provider replay when FE restarts with an empty persist state but existing metadata
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| MySqlSourceReader.java | Changed logging to output full split information instead of just split ID |
| StreamingJobUtils.java | Added exception handling for split deserialization and changed exception type to JobException |
| JdbcSourceOffsetProvider.java | Restructured replay logic to handle FE restart scenarios where offsetProviderPersist is null but metadata exists |
| StreamingInsertJob.java | Simplified condition for replaying offset provider to always attempt replay when provider exists |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
fe/fe-core/src/main/java/org/apache/doris/job/util/StreamingJobUtils.java
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/job/offset/jdbc/JdbcSourceOffsetProvider.java
Show resolved
Hide resolved
|
run buildall |
TPC-H: Total hot run time: 31978 ms |
TPC-DS: Total hot run time: 173145 ms |
ClickBench: Total hot run time: 26.75 s |
FE UT Coverage ReportIncrement line coverage |
|
run cloud_p0 |
FE Regression Coverage ReportIncrement line coverage |
smallhibiscus
left a comment
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.
LGTM
|
PR approved by anyone and no changes requested. |
Code reviewNo issues found. Checked for bugs and CLAUDE.md compliance. 🤖 Generated with Claude Code |
sollhui
left a comment
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.
LGTM
|
PR approved by at least one committer and no changes requested. |
… remainsplit relay problem (#59883) ### What problem does this PR solve? Related PR: #58898 After the Job is created for the first time, starting from the initial offset, the task for the first split is scheduled, When the task status is running or failed, If FE restarts, the split needs to be restore from the meta again.
What problem does this PR solve?
Related PR: #58898
After the Job is created for the first time, starting from the initial offset,
the task for the first split is scheduled, When the task status is running or failed,
If FE restarts, the split needs to be restore from the meta again.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)