-
Notifications
You must be signed in to change notification settings - Fork 901
-
Notifications
You must be signed in to change notification settings - Fork 901
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
DbLedgerStorage does not persist ExplicitLAC: Information (Header) of TransientLedgerInfo is not persisted #1533
Labels
Comments
This means that with DbLedgerStorage we will not persist ExplicitLAC ? |
sijie
added
type/feature
area/bookie
triage/week-8
type/bug
and removed
type/feature
labels
Feb 21, 2019
eolivelli
changed the title
Information (Header) of TransientLedgerInfo is not persisted
DbLedgerStorage does not persist ExplicitLAC: Information (Header) of TransientLedgerInfo is not persisted
Oct 29, 2020
I am working on this task. |
jiazhai
pushed a commit
that referenced
this issue
Nov 2, 2020
… (Header) of TransientLedgerInfo is not persisted (#2474) Motivation DbLedgerStorage does not persist "ExplicitLAC" on RocksDB, so when you restart a Bookie the information is lost. This work can be considered a follow up of @reddycharan work at #1527 Changes persist ExplicitLAC on DBLedgerStorage save ExplicitLAC on RocksDB (it is an optional field, so this change is backward compatible) enable testExplicitLACIsPersisted test even for DBLedgerStorage on TransientLedgerInfo rewind the ByteBuf in order to be able to use it again while writing to RocksDB use computeIfAbsent in getOrAddLedgerInfo (code clean up, but code looked strange, probably subject to some possible race condition) Master Issue: #1533 * Issue 1533: DbLedgerStorage does not persist ExplicitLAC: Information (Header) of TransientLedgerInfo is not persisted * final fix and fix checkstyle * restore tests Co-authored-by: Enrico Olivelli <eolivelli@apache.org>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
FEATURE REQUEST
TransientLedgerInfo class borrows the logic from FileInfo, which is used for holding all the transient states for a given ledger when DbLedgerStorage is used for LedgerStorage. But unlike FileInfo, in TransientLedgerInfo, Header (containing masterKey, stateBits and explicitLac) is not defined and it is not persisted.
With #1527 we are going to persist explicitLac, but since TransientLedgerInfo doesn't has Header/persistence logic, for now I'm going to ignore persisting explicitLac logic in TransientLedgerInfo/DbLedgerStorage case.
Check Ignored test case here:
https://github.com/apache/bookkeeper/blob/master/bookkeeper-server/src/test/java/org/apache/bookkeeper/client/ExplicitLacTest.java#L145
The text was updated successfully, but these errors were encountered: