[feature](row-binlog) Downlink explicit column mappings - #67456
[feature](row-binlog) Downlink explicit column mappings#67456TsukiokaKogane wants to merge 3 commits into
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
| // Valid only when segments_overlap_pb is NONOVERLAPPING_WITHIN_GROUP. | ||
| // Each value is the number of consecutive output segments in one non-overlapping group. | ||
| repeated int32 segment_group_sizes = 59; | ||
| optional PRowBinlogWriteColumnMappings row_binlog_column_mappings = 59; |
There was a problem hiding this comment.
I don't think we need to persist column mapping in rowset meta, because it is only used in a context that FE can always generate a plan with the column mapping.
There was a problem hiding this comment.
it's used for write, preserve mappings only while pending transactions may recover (re-publish after restart BE)
There was a problem hiding this comment.
这里主要是因为 mow表 写带before的binlog是在 publish 阶段执行 update_delete_bitmap的时候做的 这个时候的schema需要是写入时的 所以现在相当于是会在commit 到 publish中间的阶段会临时存一下这个mapping
|
run buildall |
### What problem does this PR solve?\n\nIssue Number: N/A\n\nRelated PR: N/A\n\nProblem Summary: Restore the repository's Maven Shade plugin version and comment after the temporary 3.5.1 downgrade, keeping the row-binlog change independent from local build-environment adjustments.\n\n### Release note\n\nNone\n\n### Check List (For Author)\n\n- Test: No need to test (restores the existing Maven Shade configuration)\n- Behavior changed: No\n- Does this need documentation: No
### What problem does this PR solve?
Issue Number: N/A
Related PR: N/A
Problem Summary: Row-binlog scanner and merger call sites independently translated TabletSchema TSO, LSN, and OP column ids into dense ReadSchema ordinals. Move that translation into ReadSchema so all read paths resolve special columns through the same TabletSchema unique-id mapping while preserving scan-mode validation at the caller.
### Release note
None
### Check List (For Author)
- Test: Unit Test
- ReadSchemaTest.*, RowBinlogVmergeCompactionTest.*, and BlockReaderBinlogVCollectMergeTest.* (14 tests)
- Behavior changed: No
- Does this need documentation: No
1c803de to
d437321
Compare
|
run buildall |
Cloud UT Coverage ReportIncrement line coverage Increment coverage report
|
TPC-H: Total hot run time: 16747 ms |
TPC-DS: Total hot run time: 81939 ms |
ClickBench: Total hot run time: 14.7 s |
FE UT Coverage ReportIncrement line coverage |
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Row-binlog and table-stream paths derived current, before-image, and system-column positions independently in BE from column names and physical layout. This coupled reads and writes to layout details and caused key-only tables requesting historical values to select plain derivation. Compute stable mapping identifiers in FE, downlink them through Thrift and protobuf, resolve ordinals once in BE, and consume explicit CID mappings in write derivation. Preserve mappings only while pending transactions may recover, then clear them before local or Cloud rowsets become visible.
Release note
None
Check List (For Author)
Test
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)