-
Notifications
You must be signed in to change notification settings - Fork 4.3k
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
fix dataloss bug in batch Storage API sink. #26503
Conversation
R: @johnjcasey |
Stopping reviewer notifications for this pull request: review requested by someone other than the bot, ceding control |
LGTM. This will break storage api writes for now, but we will no longer have false positive results |
LGTM |
+ this.streamName | ||
+ " failed with invalid " | ||
+ "offset of " | ||
+ failedContext.offset); |
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.
Would it be helpful for future debugging if we include the error's stacktrace here?
Why isn't there a test for this? |
Good question - there should be a unit test, and I believe this would be
fairly easy to reproduce in a unit test.
…On Wed, May 3, 2023 at 1:20 PM Kenn Knowles ***@***.***> wrote:
Why isn't there a test for this?
—
Reply to this email directly, view it on GitHub
<#26503 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFAYJVKPIYSAZ67MOZQOK5DXEK42HANCNFSM6AAAAAAXTISF4A>
.
You are receiving this because you modified the open/close state.Message
ID: ***@***.***>
|
We only have one test case that indirectly tests for multiple stream appends, and it uses streaming mode (while this error occurs in batch): Lines 1971 to 1976 in 03ecb15
|
Yea let's add a batch test that reproduces the issue at the commit before the fix, and confirms it fixed. Keep the bug open until the test is in. |
#26512) Co-authored-by: reuvenlax <[email protected]>
I'll write up the test and tag @reuvenlax to review |
Two issues fixed:
We fixed the offset bug and no longer create a new stream on failure. In cases where the stream is known to be unusable (e.g. it's been deleted), we raise an exception which forces retry of the entire work item.