-
Notifications
You must be signed in to change notification settings - Fork 279
Subscribe from the log offset that has been ttl don't throw OffsetOutOfRangeException #521
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
Comments
Hi @luoyuxia , I am interested in this bug, could you assign it to me? |
@gyang94, do you already have an idea for how to address this? If so, we can discuss the solution in the issue thread first. |
Hi @wuchong @luoyuxia, I tried to debug locally and there are some findings:
![]() In
Thus we have two ways to fix it: one is from server side, another is from client side. It depends on our design. Proposed solution 1: in the server side, we won't wrap the exception into a response payload, just expose this exception and return to client. e.g. Proposed solution 2: in the client side, when handle response, it needs to check the payload to see whether there is an error. If there is, throw exception based on the error code. |
@gyang94 Thanks for the detailed investigation! I prefer option#2, as the bucket-level response/error is designed to have fine-grained handling for such case. In addition, we should only throw non What do you think @luoyuxia ? |
I aslo perfer option#2. It's nature that client should check the per-bucket error from response. |
Hi @wuchong and @luoyuxia , I prefer option#2 too. But I found another problem we need to consider in solution#2: Currently in the
If we check responses and throw exceptions in ![]() Proposed Solution: ![]() |
@gyang94 I think we can just remove the fluss/fluss-client/src/main/java/com/alibaba/fluss/client/table/scanner/log/LogFetcher.java Line 317 in 9eed014
The fluss/fluss-client/src/main/java/com/alibaba/fluss/client/table/scanner/log/LogFetchCollector.java Line 263 in 9eed014
Besides, the exception thrown here shouldn't be an Please also add test (UT or IT) to reproduce this problem. |
Search before asking
Fluss version
main (development)
Please describe the bug 🐞
If subscribe from the log offset that has been delete by remote log ttl, I expect it to throw OffsetOutOfRangeException, but it doesn't
Can be reproduce by the following IT:
Solution
No response
Are you willing to submit a PR?
The text was updated successfully, but these errors were encountered: