Uh oh!
There was an error while loading. Please reload this page.
[fix](cloud) Fix warm up cache not supporting packed file (#60375) - #61886
Conversation
When enable_packed_file is enabled, the warm up functions fail to download cache data because they use storage_resource->fs (the raw FileSystem) instead of RowsetMeta::fs() which wraps the FileSystem with PackedFileSystem. The PackedFileSystem correctly maps segment file paths to their actual locations within packed files. Without this mapping, the download fails because the segment files don't exist on S3 - they are packed into larger packed files. This fix changes the file_system used in: 1. download_file_cache_block (block_file_cache_downloader.cpp) 2. _submit_segment_download_task (cloud_tablet.cpp) 3. _submit_inverted_index_download_task (cloud_tablet.cpp) All now use RowsetMeta::fs() instead of storage_resource->fs to properly handle packed files.
Thearas
commented
Mar 30, 2026
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
liaoxin01
commented
Mar 30, 2026
run buildall |
There was a problem hiding this comment.
Pull request overview
This PR fixes cloud warm-up/file-cache downloads to correctly support packed files by switching download I/O to use the RowsetMeta-provided filesystem wrapper, and updates cloud regression suites to exercise packed-file mode.
Changes:
- Use
RowsetMeta::fs()/rowset_meta->fs()for warm-up and file-cache downloads so segment/index paths resolve correctly when packed files are used. - Update multiple cloud regression suites to toggle
enable_packed_fileat runtime to cover both packed/non-packed scenarios.
Reviewed changes
Copilot reviewed 19 out of 19 changed files in this pull request and generated 20 comments.
Show a summary per file
| File | Description |
|---|---|
be/src/io/cache/block_file_cache_downloader.cpp | Use RowsetMeta::fs() for file-cache block downloads to support packed-file path mapping. |
be/src/cloud/cloud_tablet.cpp | Use rowset_meta->fs() for warm-up download tasks (segment + inverted index) to support packed files. |
regression-test/suites/cloud_p0/tablets/test_clean_tablet_when_rebalance.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/tablets/test_clean_tablet_when_drop_force_table.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/tablets/test_clean_stale_rs_index_file_cache.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/tablets/test_clean_stale_rs_file_cache.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/cache/test_topn_broadcast.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/cache/test_load_cache.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_warmup_rebalance.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_peer_read_async_warmup.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_expanding_node_balance.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_balance_warm_up_with_compaction_use_peer_cache.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_balance_warm_up_use_peer_cache.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_balance_warm_up_task_abnormal.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_balance_warm_up_sync_global_config.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_balance_warm_up.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_balance_use_compute_group_properties.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_balance_metrics.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
regression-test/suites/cloud_p0/balance/test_alter_compute_group_properties.groovy | Randomize enable_packed_file during test to cover packed/non-packed. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
hello-stephen
commented
Mar 31, 2026
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
hello-stephen
commented
Mar 31, 2026
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
hello-stephen
commented
Mar 31, 2026
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
Uh oh!
There was an error while loading. Please reload this page.
Pick #60375