-
Notifications
You must be signed in to change notification settings - Fork 409
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
Introduce PageStorage V3 to reduce CPU usage and write amplification #3594
Comments
Transfering part similar like : #3269 And just a reference: we need to update page_ctl at last. :) |
Added to the list. |
2022/1/27 found some bugs when running stress test. When i running page storage stress(need change code to enable
every reader got error :
But before When i running page storage stress(need change code to enable
after GC always got error:
or truncate error. I'm guessing it's because when I removed the blob file, the cache wasn't removed. |
About There is a small problem with the current test version: So, we should make sure that the path is not selected by both components at the same time? |
After I enable v3 into a cluster. Then I clean up all data. And begin use Then got the information.also the WAL log will got 0 bytes and keep rolling..
|
after simply fixed #3594 (comment) Then I meet nullptr problem. it was caused by force used V2 snapshotptr in |
Close as we reach a milestone for it. Further improvement will be tracked in #4989 |
Feature Request
Teachability, Documentation, Adoption, Migration Strategy:
To reduce CPU usage and write amplification, we file a proposal for new version of PageStorage: Proposal: PageStorage V3 Design
This issue records the progress of PageStorage V3 development.
Development progress
PageStorage::Snapshot
an abstract class and make it compatible for V1, V2 and V3PageStorage::getEntry
and make it an internal class inside PageStorageV2/V1PageStorage
PageMap BlobStore::read(FieldReadInfos & to_read, ...)
https://github.com/pingcap/tics/pull/3908/files#diff-1f8b8179cf4110ca801c7a156f936e6c7689f41e1bb967f2c9f46cdaffd9d1ebR345; fixed in https://github.com/pingcap/tiflash/pull/4181/filespage_ctl
)list
instead ofset
forFilenameSet
is better PageStorage: WALStore #3891 (comment)Split PRs
space_map
into PageStorage V3 #3493BlobStore::write
#4054put
andref
are in the same WriteBatch #3829RefPage
mechanism #4061page_ctl
)The text was updated successfully, but these errors were encountered: