-
Notifications
You must be signed in to change notification settings - Fork 963
[fix] Failed read entries after multiple decommissioning #4613
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] Failed read entries after multiple decommissioning #4613
Conversation
|
I'm curious about is there any cases that the ReadOnlyLedgerHandle cannot accept the updates from metadata server. As I understand, it should always accept the metadata updates no matter "doRecovery" or not. If the Ledger metadata updates to the Ledger which need to be recovered is not expected, we should fix the updates parts. |
Changed the implementation. |
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java
Outdated
Show resolved
Hide resolved
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java
Outdated
Show resolved
Hide resolved
aeb118b to
abb7ec5
Compare
|
rerun failure checks |
StevenLuMT
left a comment
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 jobs
bookkeeper-server/src/main/java/org/apache/bookkeeper/client/LedgerOpenOp.java
Outdated
Show resolved
Hide resolved
5b5294a to
fd48774
Compare
e125401 to
b1b453c
Compare
|
rerun failure checks |
|
rerun failure checks |
* - * checkstyle * let all ledger handle enable watcher * let all ledger handle enable watcher * fix tests * fix tests * fix tests * add test logs for debug * add test logs for debug * add test logs for debug * - * add a new param keepUpdateMetadata when open a read-only ledger handle * address comments * address comment * address comment * test CI * test CI * test CI * test CI * test CI * test CI * test CI * remove logs for CI * test CI * remove logs for CI * address comment * fix test (cherry picked from commit bae9e49)
* - * checkstyle * let all ledger handle enable watcher * let all ledger handle enable watcher * fix tests * fix tests * fix tests * add test logs for debug * add test logs for debug * add test logs for debug * - * add a new param keepUpdateMetadata when open a read-only ledger handle * address comments * address comment * address comment * test CI * test CI * test CI * test CI * test CI * test CI * test CI * remove logs for CI * test CI * remove logs for CI * address comment * fix test (cherry picked from commit bae9e49) (cherry picked from commit b6d8b0f)
* - * checkstyle * let all ledger handle enable watcher * let all ledger handle enable watcher * fix tests * fix tests * fix tests * add test logs for debug * add test logs for debug * add test logs for debug * - * add a new param keepUpdateMetadata when open a read-only ledger handle * address comments * address comment * address comment * test CI * test CI * test CI * test CI * test CI * test CI * test CI * remove logs for CI * test CI * remove logs for CI * address comment * fix test (cherry picked from commit bae9e49) (cherry picked from commit b6d8b0f)
Motivation
Background
ReadOnlyLedgerHandleopened withoutdoRecovery, in other words, it has not been closed yet, its metadata in memory will be updated once modified.ReadOnlyLedgerHandleopened withdoRecovery, in other words, it has been closed or it will be closed; its metadata in memory will never be updatedIssue
testOpenedLedgerHandleStillWorkAfterDecommissioningChanges
Let Bookie
LedgerHandlealways accept the metadata updates, no matter "doRecovery" or not.Provide a new API to open a read-only ledger handle withkeepUpdateMetadata, the ledger's metadata in memory will be updated automatically after the auto-recovery component updates it.