-
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
[Transaction]stop TP replaying with Exception #12700
[Transaction]stop TP replaying with Exception #12700
Conversation
...er/src/main/java/org/apache/pulsar/broker/transaction/pendingack/impl/MLPendingAckStore.java
Outdated
Show resolved
Hide resolved
...er/src/main/java/org/apache/pulsar/broker/transaction/pendingack/impl/MLPendingAckStore.java
Outdated
Show resolved
Hide resolved
/pulsarbot run-failure-checks |
@eolivelli please review again, THX! |
@eolivelli Please help review this PR. |
return; | ||
} | ||
fillEntryQueueCallback.fillQueue(); | ||
if (cursor.isClosed()) { |
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.
why did you move this outside of the while loop ?
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.
if cursor close will return ManagedledgerfenceException, so can delete this code, to speed up recovery
...er/src/main/java/org/apache/pulsar/broker/transaction/pendingack/impl/MLPendingAckStore.java
Outdated
Show resolved
Hide resolved
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.
+1
### Motivation When MLPendingAckStore replaying, if any ledger was deleted from bookkeeper, or ManagerLedger was fenced, MLPendingAckStore will not stop recovering and continue to report the exception. ### Modifications End replaying when there is no ledger to read or the managerLedger is fenced. ### Verifying this change Add a unit test.
When MLPendingAckStore replaying, if any ledger was deleted from bookkeeper, or ManagerLedger was fenced, MLPendingAckStore will not stop recovering and continue to report the exception. End replaying when there is no ledger to read or the managerLedger is fenced. Add a unit test. (cherry picked from commit a962137)
### Motivation When MLPendingAckStore replaying, if any ledger was deleted from bookkeeper, or ManagerLedger was fenced, MLPendingAckStore will not stop recovering and continue to report the exception. ### Modifications End replaying when there is no ledger to read or the managerLedger is fenced. ### Verifying this change Add a unit test.
Motivation
When MLPendingAckStore replaying, if any ledger was deleted from bookkeeper, or ManagerLedger was fenced, MLPendingAckStore will not stop recovering and continue to report the exception.
Modifications
End replaying when there is no ledger to read or the managerLedger is fenced.
Verifying this change
Add a unit test.
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?
no-need-doc
Bug Fixes.