-
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
Support multi-disks for PageStorage #1156
Conversation
d0455f8
to
b0e4919
Compare
/run-all-tests |
/run-all-tests |
// For clean read of column pk, version, tag, instead of loading data from disk, just create placeholder column is OK. | ||
auto & cd = read_columns[i]; | ||
if (do_clean_read && isExtraColumn(cd)) | ||
try |
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.
These changes in DMFileReader is adding try ... catch ...
. Add an error message to indicate which file is being read.
81bbeba
to
414b243
Compare
Signed-off-by: JaySon-Huang <tshent@qq.com>
414b243
to
944f31e
Compare
/run-all-tests |
2c385b8
to
aefa811
Compare
Signed-off-by: JaySon-Huang <tshent@qq.com>
Signed-off-by: JaySon-Huang <tshent@qq.com>
backport some comments
63dd008
to
d1a83d0
Compare
/run-all-tests |
addressed, PTAL again |
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
/run-all-tests |
Signed-off-by: JaySon-Huang <tshent@qq.com>
What problem does this PR solve?
Issue Number: a part of #1128
Problem Summary: Currently, we can only use one path to store a PageStorage. It causes much more IO pressure(from Delta and Region snapshots) for the first disk than other disks when TiFlash is deployed in multi-paths mode. And support multi-paths for PageStorage can distribute the IO pressures between all disks.
What is changed and how it works?
Design doc:https://docs.google.com/document/d/1281wqqWNVj6LZMiWfcBPPQLOQN7w3koODPVLYWM6E68/edit#
PathPool
PathPool
: Only store the main_data_paths and latest_data_paths. GenerateStoragePathPool
for each storageStoragePathPool
: A class to manage paths for the specified storage*-Delegator
: Some delegator generated byStoragePathPool
. They are used for managing the path for storing stable/delta/raft dataPageStorage
andStorageDeltaMerge
to adapt to newPathPool
PathCapacityMetrics
for more details("capacity" is not recorded in public document and no user use it as we know)Related changes
pingcap/docs
/pingcap/docs-cn
:Check List
Tests
Side effects
Release note