-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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][broker]stage 1: check the cursor status when handling flowPermits #16546
Conversation
5cc8392
to
2d5627b
Compare
/pulsarbot run-failure-checks |
2 similar comments
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
...va/org/apache/pulsar/broker/service/persistent/PersistentDispatcherSingleActiveConsumer.java
Outdated
Show resolved
Hide resolved
managed-ledger/src/main/java/org/apache/bookkeeper/mledger/impl/ManagedCursorImpl.java
Outdated
Show resolved
Hide resolved
/pulsarbot run-failure-checks |
7 similar comments
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
/pulsarbot run-failure-checks |
fb274c8
to
fd05b8d
Compare
/pulsarbot run-failure-checks |
The pr had no activity for 30 days, mark with Stale label. |
@HQebupt Please fix CI failure. |
/pulsarbot run-failure-checks |
1 similar comment
/pulsarbot run-failure-checks |
The pr had no activity for 30 days, mark with Stale label. |
@HQebupt hi, I move this PR to release/2.9.5, if you have any questions, please ping me. thanks. |
The pr had no activity for 30 days, mark with Stale label. |
Fixes #16757
Motivation
also fixes #14559
Reader
belongs to exclusive subscription type, and it usesnonDurable
cursor. After receiving messages,Reader
will ack cumulatively immediately.The
flowPermits
are triggered in multiple scenarios from the client side and it is isolated fromseek
ofConsumer
. Therefore, it is possibile thatflowPermits
will execute afterseek
from the client side, like the following flow chart.When
handleSeek
processing is delay from the server side, theMarkDelete position
is modified in a wrong way.The expected result is that
Reader
can re-consume messages frommark delete:(1,1)
afterseek
. But it doesn't work.Modifications
flowPermits
from the server side.ConsumerImpl
, in which prevent an in-process entry reading operation after the seek position@codelipenghui
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:
If
yes
was chosen, please highlight the changesDocumentation
Check the box below and label this PR (if you have committer privilege).
Need to update docs?
doc-not-needed