Repository navigation
[Opt](cloud) Support packed file for delete bitmap storage - #60411
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
3652a29 to
66af45e
Compare
|
run buildall |
There was a problem hiding this comment.
Pull request overview
This PR adds packed file support for delete bitmap storage in cloud mode to improve storage efficiency by packing small delete bitmap files into larger files when stored in object storage.
Changes:
- Added packed file read/write support for delete bitmap storage with conditional enablement based on transaction ID
- Extended PackedAppendContext with write_file_cache flag to control file cache behavior for delete bitmaps
- Added comprehensive regression tests covering BE restart, multi-rowset packing, and large bitmap fallback scenarios
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| gensrc/proto/cloud.proto | Added packed_slice_location field to DeleteBitmapStoragePB message to store packed file metadata |
| be/src/io/fs/packed_file_manager.h | Added write_file_cache flag to PackedAppendContext to control file cache writing behavior |
| be/src/io/fs/packed_file_manager.cpp | Conditionally write to file cache based on write_file_cache flag |
| be/src/cloud/delete_bitmap_file_writer.h | Added constructor and methods to support packed file writing with location tracking |
| be/src/cloud/delete_bitmap_file_writer.cpp | Implemented packed file writing logic with PackedFileWriter wrapper and location storage |
| be/src/cloud/delete_bitmap_file_reader.h | Added constructor to support reading from packed files using PackedSliceLocationPB |
| be/src/cloud/delete_bitmap_file_reader.cpp | Implemented packed file reading with PackedFileReader wrapper |
| be/src/cloud/cloud_meta_mgr.cpp | Integrated packed file support into delete bitmap storage/retrieval flow and added txn_id parameter for conditional packing |
| regression-test/suites/unique_with_mow_p0/cloud_delete_bitmap/test_packed_delete_bitmap.groovy | Added comprehensive test scenarios for packed delete bitmap functionality |
| regression-test/suites/unique_with_mow_p0/cloud_delete_bitmap/test_load.groovy | Added randomized enable_packed_file config to existing test for coverage |
| regression-test/suites/unique_with_mow_p0/cloud_delete_bitmap/test_cu_compaction.groovy | Added randomized enable_packed_file config to compaction test |
| regression-test/data/unique_with_mow_p0/cloud_delete_bitmap/test_packed_delete_bitmap.out | Expected output file for packed delete bitmap regression tests |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
FE UT Coverage ReportIncrement line coverage `` 🎉 |
TPC-H: Total hot run time: 33098 ms |
ClickBench: Total hot run time: 28.23 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
1 similar comment
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
- Add packed file support for delete bitmap writer/reader - Add write_file_cache flag to PackedAppendContext to control file cache behavior - Delete bitmap files do not use file cache to match original behavior - Add regression tests for packed delete bitmap scenarios
66af45e to
3134ad0
Compare
|
run buildall |
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
TPC-H: Total hot run time: 32107 ms |
3740e9c to
c29a8bc
Compare
|
run buildall |
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
c29a8bc to
df6b98a
Compare
|
run buildall |
TPC-H: Total hot run time: 32231 ms |
ClickBench: Total hot run time: 27.73 s |
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
FE UT Coverage ReportIncrement line coverage `` 🎉 |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
) Problem Summary: This PR adds packed file support for delete bitmap storage in cloud mode. - Add packed file support for delete bitmap writer/reader - Add write_file_cache flag to PackedAppendContext to control file cache behavior - Delete bitmap files do not use file cache to match original behavior - Add regression tests for packed delete bitmap scenarios
) Problem Summary: This PR adds packed file support for delete bitmap storage in cloud mode. - Add packed file support for delete bitmap writer/reader - Add write_file_cache flag to PackedAppendContext to control file cache behavior - Delete bitmap files do not use file cache to match original behavior - Add regression tests for packed delete bitmap scenarios
…es (#69693) ### What problem does this PR solve? Issue Number: None Related PR: #59892, #60411, #64995 Problem Summary: When packed file is enabled, the first segment file (`.dat`) and the index file (`.idx`) of a rowset are written through `PackedFileSystem`. The packed path decides whether to cache each small file from `PackedAppendContext::write_file_cache`, which defaults to `true`. `RowsetWriterContext` never sets this field.
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
This PR adds packed file support for delete bitmap storage in cloud mode.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)