Uh oh!
There was an error while loading. Please reload this page.
[Enhancement](row binlog) Support flexible partial updates - #66899
Merged
Yukang-Lian merged 7 commits intoSep 1, 2026
Merged
Conversation
hello-stephen
commented
Aug 18, 2026
Contributor
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Yukang-Lian
marked this pull request as ready for review
August 18, 2026 10:40
Yukang-Lian
requested review from
airborne12, csun5285, eldenmoon, gavinchou, liaoxin01 and yiguolei
as code ownersAugust 18, 2026 10:40
…rtial-update-row-binlog # Conflicts: # be/src/storage/segment/row_binlog_segment_writer.cpp # be/src/storage/segment/row_binlog_segment_writer.h
### What problem does this PR solve? Issue Number: N/A Related PR: apache#66899 Problem Summary: Add SQL end-to-end coverage for Row Binlog flexible partial updates without a sequence column. The test verifies duplicate-key aggregation, historical value fill, explicit NULL, new-key defaults, DELETE, delete-then-insert, and DETAIL/MIN_DELTA/APPEND_ONLY projections. ### Release note None ### Check List (For Author) - Test: Regression test - ASAN build - row_binlog_p0: 14/14 suites passed - Behavior changed: No - Does this need documentation: No
Yukang-Lian
commented
Aug 24, 2026
CollaboratorAuthor
run buildall |
hello-stephen
commented
Aug 24, 2026
Contributor
TPC-H: Total hot run time: 16987 ms |
hello-stephen
commented
Aug 24, 2026
Contributor
TPC-DS: Total hot run time: 83016 ms |
hello-stephen
commented
Aug 24, 2026
Contributor
ClickBench: Total hot run time: 14.74 s |
### What problem does this PR solve? Issue Number: None Related PR: apache#65810 Problem Summary: Cloud Row Binlog currently does not refresh the implicit end TSO for direct table@incr scans. Keep the flexible partial-update Cloud coverage on base-table and raw Row Binlog results while skipping only the three direct @incr assertions until that generic FE issue is fixed. ### Release note None ### Check List (For Author) - Test: No local test run; this is a Cloud regression routing adjustment and buildall will validate it. - Behavior changed: No. Production code is unchanged. - Does this need documentation: No
Yukang-Lian
commented
Aug 25, 2026
CollaboratorAuthor
run buildall |
1 similar comment
Yukang-Lian
commented
Aug 25, 2026
CollaboratorAuthor
run buildall |
hello-stephen
commented
Aug 25, 2026
Contributor
TPC-H: Total hot run time: 17015 ms |
hello-stephen
commented
Aug 25, 2026
Contributor
TPC-DS: Total hot run time: 81669 ms |
hello-stephen
commented
Aug 25, 2026
Contributor
ClickBench: Total hot run time: 14.54 s |
hello-stephen
commented
Aug 25, 2026
Contributor
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
…rtial-update-row-binlog # Conflicts: # be/test/storage/transform/row_binlog_derive_test.cpp
Yukang-Lian
commented
Aug 28, 2026
CollaboratorAuthor
run buildall |
hello-stephen
commented
Aug 28, 2026
Contributor
TPC-H: Total hot run time: 17157 ms |
hello-stephen
commented
Aug 28, 2026
Contributor
TPC-DS: Total hot run time: 83998 ms |
hello-stephen
commented
Aug 28, 2026
Contributor
ClickBench: Total hot run time: 15.18 s |
hello-stephen
commented
Aug 28, 2026
Contributor
BE UT Coverage ReportIncrement line coverage Increment coverage report
|
hello-stephen
commented
Aug 28, 2026
Contributor
BE Regression && UT Coverage ReportIncrement line coverage Increment coverage report
|
luwei16
approved these changes
Aug 31, 2026
69 tasks
csun5285
approved these changes
Sep 1, 2026
gavinchou
approved these changes
Sep 1, 2026
Uh oh!
There was an error while loading. Please reload this page.
Contributor
PR approved by anyone and no changes requested. |
Contributor
PR approved by at least one committer and no changes requested. |
This was referenced Sep 2, 2026
Closed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What problem does this PR solve?
Issue Number: N/A
Related PR: #65810
Problem Summary:
Row Binlog supports fixed-column partial updates, but did not support flexible partial updates (
UPDATE_FLEXIBLE_COLUMNS). Flexible updates carry a per-row skip bitmap and may merge rows before writing, so Row Binlog must reconstruct complete rows while keeping BEFORE/AFTER values, operations, row counts, and LSNs aligned.This PR:
MowRowBinlogDeriveStagetransform chain.(segment_id, row_id)alignment for sequence losers; the synchronized delete bitmap makes those rows logically invisible.The implementation is shared by local and Cloud storage. It does not change FE syntax, Table Stream metadata, Stream Offset handling, or protobuf definitions.
Scope note: this PR does not lift the existing flexible partial-update multi-segment load restriction and does not add a zero-row Segment format.