[feat](restore): enhance storage medium control#58897
[feat](restore): enhance storage medium control#58897Ryan19929 wants to merge 19 commits intoapache:masterfrom
Conversation
|
run buildall |
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
FE UT Coverage ReportIncrement line coverage |
TPC-H: Total hot run time: 36623 ms |
TPC-DS: Total hot run time: 182217 ms |
ClickBench: Total hot run time: 28.28 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
FE Regression Coverage ReportIncrement line coverage |
|
run feut |
|
run p0 |
|
run buildall |
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
FE UT Coverage ReportIncrement line coverage |
TPC-H: Total hot run time: 35526 ms |
TPC-DS: Total hot run time: 181839 ms |
ClickBench: Total hot run time: 28.49 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
FE Regression Coverage ReportIncrement line coverage |
792260b to
2c30e08
Compare
|
run buildall |
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
TPC-H: Total hot run time: 36834 ms |
TPC-DS: Total hot run time: 181614 ms |
fde1808 to
7a39f3b
Compare
|
run buildall |
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
TPC-H: Total hot run time: 28745 ms |
TPC-DS: Total hot run time: 183828 ms |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
FE Regression Coverage ReportIncrement line coverage |
|
run buildall |
FE UT Coverage ReportIncrement line coverage |
TPC-H: Total hot run time: 28900 ms |
TPC-DS: Total hot run time: 184381 ms |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
|
run p0 |
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Background
In current Doris, storage medium (SSD/HDD) selection lacks fine-grained control:
Solution
This PR introduces
medium_allocation_modeproperty with two modes:strictstorage_medium. Fail if unavailable (except in single-medium environments where fallback is necessary)adaptiveAdditionally,
RESTOREcommand now supports:storage_medium: Choosehdd,ssd, orsame_with_upstream(preserve source table's medium)medium_allocation_mode: Control allocation strategy during restoreMain Changes
FE:
DataProperty.java: AddMediumAllocationModeenumRestoreCommand.java: Support new propertiesRestoreJob.java: Integrate medium decision logicMediumDecisionMaker.java: Centralized medium selection (new)SystemInfoService.java: Support allocation mode in backend selectionTableProperty.java: Persistmedium_allocation_modeFrontendService.thrift: Add new RPC fieldsBE:
config.cpp/h: Addenable_storage_medium_fallbackfor runtime fallbackstorage_engine.cpp: Support fallback logicLegacy Table Compatibility
Existing tables automatically infer allocation mode:
storage_medium→STRICTmode (preserve current behavior)storage_medium→ADAPTIVEmode (allow flexibility)Usage Examples
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)