[client] Throw Exception when retry several times when downloading log. - #1752
Conversation
|
@wuchong , CC |
a7076d3 to
21b2484
Compare
There was a problem hiding this comment.
Pull request overview
This PR aims to address issue #1751 (RemoteLogDownloader deadlock on download failures) by changing remote log download failure handling to retry a fixed number of times and then surface an exception to the client, plus plumbing failures through the fetch buffer/collector so the scanner can fail instead of stalling.
Changes:
- Add retry + exception propagation for remote log segment download failures.
- Propagate pending-fetch completion failures through
LogFetchBufferviaFetchException. - Add/extend unit tests covering fetch exception behavior in downloader/buffer/collector.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 6 comments.
Show a summary per file
| File | Description |
|---|---|
fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloader.java |
Adds retry/error handling path for remote downloads (but currently has retry logic issues). |
fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogFetchBuffer.java |
Adds exception propagation via stored throwable and throws FetchException from peek/poll. |
fluss-client/src/main/java/org/apache/fluss/client/table/scanner/log/LogFetcher.java |
Updates collectFetch signature and (implicitly) relies on new exception propagation behavior. |
fluss-client/src/test/java/org/apache/fluss/client/table/scanner/log/RemoteLogDownloaderTest.java |
Adds test for downloader failure behavior (contains an unused variable). |
fluss-client/src/test/java/org/apache/fluss/client/table/scanner/log/LogFetchCollectorTest.java |
Adds test ensuring fetch exceptions propagate out of the collector. |
fluss-client/src/test/java/org/apache/fluss/client/table/scanner/log/LogFetchBufferTest.java |
Adds test ensuring buffer surfaces exceptions on peek/poll. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
a7f0c1a to
737b2a1
Compare
|
@wuchong , fix this test |
737b2a1 to
416c8e7
Compare
|
@wuchong , CC, it's important for me. |
416c8e7 to
0d91d8b
Compare
|
@swuferhong , I have rebased this PR, CC |
Co-Authored-By: Codex <noreply@openai.com> Co-Authored-By: Qoder <noreply@qoder.com> AI-Model: gpt-5.6-sol AI-Contributed/Feature: 124/127 AI-Contributed/UT: 224/224
0d91d8b to
168532a
Compare
|
@swuferhong , I have rebased this PR again |
swuferhong
left a comment
There was a problem hiding this comment.
Thanks, @loserwang1024, I have left some comments:
Co-Authored-By: Codex <noreply@openai.com> AI-Model: gpt-5.6-sol AI-Contributed/Feature: 59/59 AI-Contributed/UT: 54/54
Purpose
Linked issue: close #1751
Brief change log
Tests
API and Format
Documentation