Skip to content
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

Merged
merged 8 commits into from
Dec 17, 2021
Merged

[Transaction]stop TP replaying with Exception #12700

merged 8 commits into from
Dec 17, 2021

Conversation

liangyepianzhou
Copy link
Contributor

@liangyepianzhou liangyepianzhou commented Nov 9, 2021

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.

  • Make sure that the change passes the CI checks.

Does this pull request potentially affect one of the following parts:

If yes was chosen, please highlight the changes

  • Dependencies (does it add or upgrade a dependency): (yes / no)
  • The public API: (yes / no)
  • The schema: (yes / no / don't know)
  • The default values of configurations: (yes / no)
  • The wire protocol: (yes / no)
  • The rest endpoints: (yes / no)
  • The admin cli options: (yes / no)
  • Anything that affects deployment: (yes / no / don't know)

Documentation

Check the box below and label this PR (if you have committer privilege).

Need to update docs?

  • no-need-doc
    Bug Fixes.

@github-actions github-actions bot added the doc-not-needed Your PR changes do not impact docs label Nov 9, 2021
@codelipenghui codelipenghui added this to the 2.10.0 milestone Nov 10, 2021
@codelipenghui codelipenghui changed the title [Transaction]stop TP replaying with Exception [Transaction]stop TB replaying with Exception Nov 19, 2021
@liangyepianzhou liangyepianzhou changed the title [Transaction]stop TB replaying with Exception [Transaction]stop TP replaying with Exception Nov 20, 2021
@liangyepianzhou
Copy link
Contributor Author

/pulsarbot run-failure-checks

@liangyepianzhou
Copy link
Contributor Author

@eolivelli please review again, THX!

@codelipenghui
Copy link
Contributor

@eolivelli Please help review this PR.

return;
}
fillEntryQueueCallback.fillQueue();
if (cursor.isClosed()) {
Copy link
Contributor

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 ?

Copy link
Contributor

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

Copy link
Contributor

@eolivelli eolivelli left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

@congbobo184 congbobo184 merged commit a962137 into apache:master Dec 17, 2021
fxbing pushed a commit to fxbing/pulsar that referenced this pull request Dec 19, 2021
### 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.
codelipenghui pushed a commit that referenced this pull request Dec 21, 2021
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)
@codelipenghui codelipenghui added the cherry-picked/branch-2.9 Archived: 2.9 is end of life label Dec 21, 2021
Technoboy- pushed a commit to Technoboy-/pulsar that referenced this pull request Dec 29, 2021
### 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/transaction cherry-picked/branch-2.9 Archived: 2.9 is end of life doc-not-needed Your PR changes do not impact docs release/2.9.2
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants