-
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] Fix broker is not able to load topic with broken schema ledger #19882
base: master
Are you sure you want to change the base?
Conversation
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
/pulsarbot rerun-failure-checks |
The PR of type |
Codecov Report
@@ Coverage Diff @@
## master #19882 +/- ##
=============================================
+ Coverage 24.42% 69.48% +45.06%
- Complexity 291 3652 +3361
=============================================
Files 1603 1873 +270
Lines 124343 152550 +28207
Branches 13571 18653 +5082
=============================================
+ Hits 30369 106004 +75635
+ Misses 89490 37612 -51878
- Partials 4484 8934 +4450
Flags with carried forward coverage won't be shown. Click here to find out more.
|
/pulsarbot run-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.
Two questions:
- Should we make it will only work if enabled
autoSkipNonRecoverableData
? - This PR is the same as [improve] [broker] make consumer and producer can work even if schema ledger lost #18010. I do not expect to use 18010 instead current one, but suggestion copying the test which In [improve] [broker] make consumer and producer can work even if schema ledger lost #18010 into the current PR, and then I can close PR [improve] [broker] make consumer and producer can work even if schema ledger lost #18010
On the first question, I asked the same question in PR 18010. Whether it should be at the time of enable |
@rdhabalia Could you please take a look at @poorbarcode 's comment? |
The pr had no activity for 30 days, mark with Stale label. |
Motivation
If due to any operation reason if schema ledger metadata gets deleted then broker is not able to handle that non-recoverable error and not able to load the topic. So, if one of the schema ledger is broken/deleted or ledger metadata is missing , then broker logs below exception because ledger without metadata gives
NoSuchLedgerExistsOnMetadataServerException
which is not considered as non-recoverable error.Modifications
Handle
NoSuchLedgerExistsOnMetadataServerException
non-recoverable error and successfully load such topic with broken schema ledger.Verifying this change
(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
(or)
This change is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:
(example:)
Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes
Documentation
doc
doc-required
doc-not-needed
doc-complete
Matching PR in forked repository
PR in forked repository: