-
Notifications
You must be signed in to change notification settings - Fork 3.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
Span batch atomicity #7867
Span batch atomicity #7867
Conversation
44eaa48
to
1236c81
Compare
Add pendingSafeHead to engine queue Engine queue advances node's safe head once the span batch is fully processed Batch queue resets cached batches derived from span batch when detecting processing error
1236c81
to
d72dbe3
Compare
Rebased on develop, fixed merge conflicts 👍 |
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.
I think this is looking good generally. I haven't dug into the details of the new tests - figured it was worth getting your thoughts on the approach to e2e testing before digging too much into the details of what new tests we've added.
Some existing e2e tests failed due to span batch atomicity changes.
|
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.
Yep, I'm happy to do those couple of things as a follow up as well.
3e890bb
This branch is based on testinprod-io:tip/span-batch-e2e. And the new commit is 44eaa48. Please create a mirror branch and change the base branch to the mirror branch for the better code review
Fix the derivation pipeline to guarantee the atomicity of span batches, as discussed in code reviews.
There are changes in
BatchQueue
andEngineQueue
eq.pendingSafeHead
, which means the block that derived from batches, but not consolidated to safe because the span batch is not fully processed yet.eq.pendingSafeHead
into the new safe head.There are e2e test cases to cover these changes.
TestSpanBatchAtomicity_Consolidation
)TestSpanBatchAtomicity_ForceAdvance
)TestInvalidPayloadInSpanBatch
)