-
Notifications
You must be signed in to change notification settings - Fork 522
[Merged by Bors] - Support ReadCommitted isolation in SPU for Produce requests
#2336
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
[Merged by Bors] - Support ReadCommitted isolation in SPU for Produce requests
#2336
Conversation
sehz
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.
The first pass looks good.
Meantime, can you add integration tests similar to fetch tests?
sehz
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.
Looks very good. Couple of minor comments
| NotLeaderForPartition, | ||
| #[fluvio(tag = 7)] | ||
| #[error("the request timed out.")] | ||
| RequestTimedOut, |
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.
Can we add timeout period and what kind?
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.
Added
sehz
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. Nice Job
|
bors r+ |
The produce handler uses the `acks` field from `ProduceRequest` to determine which isolation will be taken. In case of `ReadCommitted` isolation, it waits until the replica's `hw` includes records from the requests before returning the response. Awaiting is limited by the `timeout_ms` field of the request. For now, the timeout is not shared between partitions, it is counted separately for each partition. For `ReadUncommitted` there is no waiting. Related #2302
|
Pull request successfully merged into master. Build succeeded: |
ReadCommitted isolation in SPU for Produce requestsReadCommitted isolation in SPU for Produce requests
The produce handler uses the
acksfield fromProduceRequestto determine which isolation will be taken.In case of
ReadCommittedisolation, it waits until the replica'shwincludes records from the requests before returning the response. Awaiting is limited by thetimeout_msfield of the request. For now, the timeout is not shared between partitions, it is counted separately for each partition.For
ReadUncommittedthere is no waiting.Related #2302