Uh oh!
There was an error while loading. Please reload this page.
[branch-4.1](be) backport storage type/encoding refactor series to branch-4.1 (#63153 #63233 #63622 #63291 #64341) - #64550
Conversation
hello-stephen
commented
Jun 16, 2026
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
…Type (apache#63153) Replace TypeInfo* fields and parameters with FieldType throughout the storage layer, and add a static field_type_size(FieldType) helper that maps each type to sizeof(CppTypeTraits<FT>::CppType) so size lookups stay in sync with the existing traits machinery. (cherry picked from commit 7e5c941)
…ad code (apache#63233) Drop the `StorageField` wrapper and related dead code. `StorageField` was a thin layer over `TabletColumn` — every accessor just forwarded, all 11 subclasses were empty stubs with no caller distinguishing them via dynamic_cast/typeid. After removing it, several dead pieces fell out. Issue Number: close #xxx Related PR: #xxx (cherry picked from commit 8a8999c)
…he#63622) Replace the EncodingPreference + runtime hook machinery in EncodingInfoResolver with four explicit maps and four matching get methods: - _v2_default_map -> get_v2_default_encoding(type) - _v3_default_map -> get_v3_default_encoding(type) - _index_column_default_map -> get_index_column_encoding(type) - _encoding_map -> get(type, encoding, out) No on-disk format change; the resolved encodings written into ColumnMetaPB match the pre-refactor outputs for both v2 and V3 tablets. Issue Number: close #xxx Related PR: #xxx Problem Summary: None - Test <!-- At least one of them must be included. --> - [ ] Regression test - [x] Unit Test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [x] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason <!-- Add your reason? --> - Behavior changed: - [ ] No. - [ ] Yes. <!-- Explain the behavior change --> - Does this need documentation? - [ ] No. - [ ] Yes. <!-- Add document PR link here. eg: apache/doris-website#1214 --> - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into --> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (cherry picked from commit 4f1dcdf)
- apache/doris-website#3759 - Problem: The CHAR padding contract leaked from the storage layer into the compute / predicate layers — every scan stripped padding at the Block level, while predicates re-padded values to match the on-disk shape. Logic was spread out and wasted work on every read. - Fix: On-disk format unchanged. The convertor still pads CHAR to the schema length on write, but the strip is pushed down to the page pre-decoder — the page cache holds unpadded data. All shrink_* / pad_* code above the page cache (SegmentIterator, Block, RowCursor, predicates) is removed. - BloomFilter: BF probing is skipped (return true, fall back to scan) for CHAR predicates — the BF hashes padded bytes but predicate values are unpadded, so the probe would never match. Other indexes (ZoneMap / inverted / bitmap) are unaffected. Issue Number: close #xxx Related PR: #xxx Problem Summary: None - Test <!-- At least one of them must be included. --> - [x] Regression test - [x] Unit Test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [ ] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason <!-- Add your reason? --> - Behavior changed: - [ ] No. - [ ] Yes. <!-- Explain the behavior change --> - Does this need documentation? - [ ] No. - [ ] Yes. <!-- Add document PR link here. eg: apache/doris-website#3759> - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into --> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com> (cherry picked from commit e072997)
…che#64341) 1. Make IDataType::get_storage_field_type() derive the field type from the primitive type 2. SegmentIterator::_is_char_type (and _vec_init_char_column_id) is deleted Issue Number: close #xxx Related PR: #xxx Problem Summary: ### Release note None ### Check List (For Author) - Test <!-- At least one of them must be included. --> - [ ] Regression test - [ ] Unit Test - [ ] Manual test (add detailed scripts or steps below) - [ ] No need to test or manual test. Explain why: - [x] This is a refactor/code format and no logic has been changed. - [ ] Previous test can cover this change. - [ ] No code files have been changed. - [ ] Other reason <!-- Add your reason? --> - Behavior changed: - [ ] No. - [ ] Yes. <!-- Explain the behavior change --> - Does this need documentation? - [ ] No. - [ ] Yes. <!-- Add document PR link here. eg: apache/doris-website#1214 --> ### Check List (For Reviewer who merge this PR) - [ ] Confirm the release note - [ ] Confirm test cases - [ ] Confirm document - [ ] Add branch pick label <!-- Add branch pick label that this PR should merge into --> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> (cherry picked from commit 9d3c35b)
9efc449 to
68b95d1Comparecsun5285
commented
Jun 16, 2026
run buildall |
hello-stephen
commented
Jun 16, 2026
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
hello-stephen
commented
Jun 16, 2026
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
hello-stephen
commented
Jun 16, 2026
FE Regression Coverage ReportIncrement line coverage |
hello-stephen
commented
Jun 16, 2026
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
hello-stephen
commented
Jun 16, 2026
FE Regression Coverage ReportIncrement line coverage |
hello-stephen
commented
Jun 16, 2026
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
hello-stephen
commented
Jun 16, 2026
FE Regression Coverage ReportIncrement line coverage |
Uh oh!
There was an error while loading. Please reload this page.
pick from master #63153#63233#63622#63291#64341