-
Notifications
You must be signed in to change notification settings - Fork 895
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
Apply the backpressure changes on the V2 requests #3324
Conversation
--- *Motivation* If one bookie is slow (not down, just slow), the BK client will the acks to the user that the entries are written after the first 2 acks. In the meantime, it will keep waiting for the 3rd bookie to respond. If the bookie responds within the timeout, the entries can now be dropped from memory, otherwise the write will timeout internally and it will get replayed to a new bookie. In the V3 request, we have [server-side backpressure](apache#1410) to impact the client-side behaviors. We should apply the same changes to the V2 request. That would help this [issue](apache/pulsar#14861) to be resolved. *Modification* - Apply the change apache#1410 to V2 protocol
As we mentioned in this issue, broker is easy to OOM when there has one bookie slow. |
rerun failure checks |
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.
Good job!
rerun failure checks |
rerun failure checks |
1 similar comment
rerun failure checks |
@eolivelli @merlimat Please help to take a review when you have time. Once the backpressure applies to the v2 requests, this will help to control the client's memory usage. Also can help to resolve the issue I mentioned in this issue |
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
@dlg99 PTAL
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.
Great job!
--- *Motivation* If one bookie is slow (not down, just slow), the BK client will the acks to the user that the entries are written after the first 2 acks. In the meantime, it will keep waiting for the 3rd bookie to respond. If the bookie responds within the timeout, the entries can now be dropped from memory, otherwise the write will timeout internally and it will get replayed to a new bookie. In the V3 request, we have [server-side backpressure](#1410) to impact the client-side behaviors. We should apply the same changes to the V2 request. That would help this [issue](apache/pulsar#14861) to be resolved. *Modification* - Apply the change #1410 to V2 protocol Descriptions of the changes in this PR: (cherry picked from commit 62400bd)
--- *Motivation* If one bookie is slow (not down, just slow), the BK client will the acks to the user that the entries are written after the first 2 acks. In the meantime, it will keep waiting for the 3rd bookie to respond. If the bookie responds within the timeout, the entries can now be dropped from memory, otherwise the write will timeout internally and it will get replayed to a new bookie. In the V3 request, we have [server-side backpressure](#1410) to impact the client-side behaviors. We should apply the same changes to the V2 request. That would help this [issue](apache/pulsar#14861) to be resolved. *Modification* - Apply the change #1410 to V2 protocol Descriptions of the changes in this PR: (cherry picked from commit 62400bd)
Thank you! I have cherry-picked this PR to branch-4.14 and branch-4.15 |
--- *Motivation* If one bookie is slow (not down, just slow), the BK client will the acks to the user that the entries are written after the first 2 acks. In the meantime, it will keep waiting for the 3rd bookie to respond. If the bookie responds within the timeout, the entries can now be dropped from memory, otherwise the write will timeout internally and it will get replayed to a new bookie. In the V3 request, we have [server-side backpressure](apache#1410) to impact the client-side behaviors. We should apply the same changes to the V2 request. That would help this [issue](apache/pulsar#14861) to be resolved. *Modification* - Apply the change apache#1410 to V2 protocol Descriptions of the changes in this PR: (cherry picked from commit 62400bd) (cherry picked from commit b025f7b)
--- *Motivation* If one bookie is slow (not down, just slow), the BK client will the acks to the user that the entries are written after the first 2 acks. In the meantime, it will keep waiting for the 3rd bookie to respond. If the bookie responds within the timeout, the entries can now be dropped from memory, otherwise the write will timeout internally and it will get replayed to a new bookie. In the V3 request, we have [server-side backpressure](apache#1410) to impact the client-side behaviors. We should apply the same changes to the V2 request. That would help this [issue](apache/pulsar#14861) to be resolved. *Modification* - Apply the change apache#1410 to V2 protocol Descriptions of the changes in this PR: (cherry picked from commit 62400bd) (cherry picked from commit b025f7b)
- cherry-picking apache#3324 requires this backport
- cherry-picking apache#3324 requires this backport
- cherry-picking apache#3324 requires this backport
- cherry-picking apache#3324 requires this backport
--- *Motivation* If one bookie is slow (not down, just slow), the BK client will the acks to the user that the entries are written after the first 2 acks. In the meantime, it will keep waiting for the 3rd bookie to respond. If the bookie responds within the timeout, the entries can now be dropped from memory, otherwise the write will timeout internally and it will get replayed to a new bookie. In the V3 request, we have [server-side backpressure](apache#1410) to impact the client-side behaviors. We should apply the same changes to the V2 request. That would help this [issue](apache/pulsar#14861) to be resolved. *Modification* - Apply the change apache#1410 to V2 protocol Descriptions of the changes in this PR:
Motivation
If one bookie is slow (not down, just slow), the BK client
will the acks to the user that the entries are written after
the first 2 acks. In the meantime, it will keep waiting for
the 3rd bookie to respond. If the bookie responds within the
timeout, the entries can now be dropped from memory, otherwise
the write will timeout internally and it will get replayed
to a new bookie.
In the V3 request, we have server-side backpressure
to impact the client-side behaviors. We should apply the same
changes to the V2 request. That would help this issue
to be resolved.
Modification
Descriptions of the changes in this PR: