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

Update a dirty page #4056

Open
ytong01 opened this issue Aug 21, 2023 · 1 comment
Open

Update a dirty page #4056

ytong01 opened this issue Aug 21, 2023 · 1 comment

Comments

@ytong01
Copy link

ytong01 commented Aug 21, 2023

QUESTION

Recently I'm reading the code associates with how bookkeeper writes indexes for a ledger, and there is a piece of logic about grab an available LedgerEntryPage from cache.

image image image image

step 1: Try to get a available page from listOfFreePages
step 2: reset the page
step 2.1: reset the metadata, including set the entryKey to new EntryKey(-1, -1)
step 2.2: put the LEP into lruCleanPageMap, note the key is new EntryKey(-1,-1)
step 3: Reassign the entryKey of LEP with new EntryKey(ledgerId, firstEntryId)
step 4: increment the use count and remove LEP with the reassigned entryKey, but it can't remove the page since the key is different.

We have a productive error about "Trying to update a dirty page" and I'm not sure it matters, would be appreciate if someone will reply on it.

@liangyuanpeng
Copy link

Also can try to ask it at the slack or email list.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants