[fix](fe) Fix row binlog schema change test metadata#65663
Merged
hello-stephen merged 2 commits intoJul 15, 2026
Merged
Conversation
### What problem does this PR solve? Issue Number: N/A Related PR: apache#65076 Problem Summary: SchemaChangeHandlerTest still referenced the removed BINLOG_TIMESTAMP_COL after row binlog metadata changed to use TSO. Align the test fixture with the current TSO, LSN, and operation columns so master test compilation succeeds. ### Release note None ### Check List (For Author) - Test: Unit Test - mvn install -DskipTests -Dmaven.build.cache.enabled=false - ./run-fe-ut.sh --run org.apache.doris.alter.SchemaChangeHandlerTest - Behavior changed: No - Does this need documentation: No
Contributor
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
Member
Author
|
run buildall |
Contributor
TPC-H: Total hot run time: 29065 ms |
Contributor
|
skip buildall |
### What problem does this PR solve? Issue Number: N/A Related PR: apache#65076 Problem Summary: OlapTableRowBinlogSchemaTest expected LSN indexes from the previous row binlog metadata layout. Align the assertions with the current TSO, LSN, and operation order and verify the TSO indexes. ### Release note None ### Check List (For Author) - Test: Unit Test - ./run-fe-ut.sh --run org.apache.doris.catalog.OlapTableRowBinlogSchemaTest,org.apache.doris.alter.SchemaChangeHandlerTest - Behavior changed: No - Does this need documentation: No
Contributor
|
run buildall |
Contributor
TPC-H: Total hot run time: 29841 ms |
Contributor
TPC-DS: Total hot run time: 177029 ms |
Collaborator
|
skip buildall |
Contributor
ClickBench: Total hot run time: 25.2 s |
luwei16
approved these changes
Jul 15, 2026
Contributor
|
PR approved by at least one committer and no changes requested. |
Contributor
|
PR approved by anyone and no changes requested. |
Contributor
FE UT Coverage ReportIncrement line coverage `` 🎉 |
16 tasks
seawinde
added a commit
to seawinde/doris
that referenced
this pull request
Jul 16, 2026
### What problem does this PR solve? Issue Number: N/A Related PR: apache#65076, apache#65663 Problem Summary: The row-binlog writer BE unit test no longer compiles after allocate_binlog_lsn changed to accept a vector reference. After that compile error is fixed, the test aborts because its filtered row-binlog schema retains the metadata indexes from before two hidden columns were removed and its assertions still expect the previous LSN, operation, and timestamp layout. Initialize the LSN vector before passing it by reference, reset the TSO, LSN, and operation indexes after filtering, and verify values using the current metadata order and types. ### Release note None ### Check List (For Author) - Test: Unit Test - ./run-be-ut.sh --run '--filter=GroupRowsetWriterTest.*' - Behavior changed: No - Does this need documentation: No
hello-stephen
pushed a commit
that referenced
this pull request
Jul 16, 2026
Related PR: #65076, #65663 Problem Summary: The master BE unit test target fails to compile because `GroupRowsetWriterTest` still passes a pointer to `allocate_binlog_lsn()`, which now accepts a vector reference. After fixing compilation, the suite aborts while flushing row-binlog data. Root cause: In `GroupRowsetWriterTest.SetUp()`, two columns are removed from the generated row-binlog schema without updating `binlog_tso_idx`, `binlog_lsn_idx`, and `binlog_op_idx`. `RowBinlogSegmentWriter` consequently accesses column ID 7 in a seven-column schema. The test output assertions also use the previous LSN, operation, and timestamp layout. This change initializes the shared LSN vector before passing it by reference, resets the metadata indexes after filtering columns, and verifies TSO, LSN, and operation values using the current schema order and types.
seawinde
added a commit
to seawinde/doris
that referenced
this pull request
Jul 19, 2026
### What problem does this PR solve? Issue Number: N/A Related PR: apache#65076, apache#65663 Problem Summary: The row-binlog writer BE unit test no longer compiles after allocate_binlog_lsn changed to accept a vector reference. After that compile error is fixed, the test aborts because its filtered row-binlog schema retains the metadata indexes from before two hidden columns were removed and its assertions still expect the previous LSN, operation, and timestamp layout. Initialize the LSN vector before passing it by reference, reset the TSO, LSN, and operation indexes after filtering, and verify values using the current metadata order and types. ### Release note None ### Check List (For Author) - Test: Unit Test - ./run-be-ut.sh --run '--filter=GroupRowsetWriterTest.*' - Behavior changed: No - Does this need documentation: No
yujun777
pushed a commit
to yujun777/doris
that referenced
this pull request
Jul 20, 2026
* [fix](row-binlog) Support IVM MTMV binlog access ### What problem does this PR solve? Issue Number: N/A Related PR: #20 Problem Summary: IVM MTMVs use a hidden row-id key that is persisted in the row-binlog schema. The generic binlog table function rejected MTMV tables and could expose internal IVM columns unconditionally. Allow OlapTable subclasses such as MTMV, hide IVM internal columns by default, expose them when show_hidden_columns is enabled, and add focused BE and regression coverage. The latest yujun777/ivm base already contains the generic hidden-key writer support from upstream, so this commit reuses that implementation instead of replacing it. ### Release note Support querying row binlog for incremental materialized views while keeping internal IVM columns hidden by default. ### Check List (For Author) - Test: Not run yet (verification follows after applying the related BE test compatibility change) - Behavior changed: Yes. binlog() accepts IVM MTMV tables and follows show_hidden_columns for internal IVM columns. - Does this need documentation: No * [fix](be) Fix row binlog writer test metadata ### What problem does this PR solve? Issue Number: N/A Related PR: apache#65076, apache#65663 Problem Summary: The row-binlog writer BE unit test no longer compiles after allocate_binlog_lsn changed to accept a vector reference. After that compile error is fixed, the test aborts because its filtered row-binlog schema retains the metadata indexes from before two hidden columns were removed and its assertions still expect the previous LSN, operation, and timestamp layout. Initialize the LSN vector before passing it by reference, reset the TSO, LSN, and operation indexes after filtering, and verify values using the current metadata order and types. ### Release note None ### Check List (For Author) - Test: Unit Test - ./run-be-ut.sh --run '--filter=GroupRowsetWriterTest.*' - Behavior changed: No - Does this need documentation: No
yujun777
pushed a commit
to yujun777/doris
that referenced
this pull request
Jul 20, 2026
* [fix](row-binlog) Support IVM MTMV binlog access ### What problem does this PR solve? Issue Number: N/A Related PR: #20 Problem Summary: IVM MTMVs use a hidden row-id key that is persisted in the row-binlog schema. The generic binlog table function rejected MTMV tables and could expose internal IVM columns unconditionally. Allow OlapTable subclasses such as MTMV, hide IVM internal columns by default, expose them when show_hidden_columns is enabled, and add focused BE and regression coverage. The latest yujun777/ivm base already contains the generic hidden-key writer support from upstream, so this commit reuses that implementation instead of replacing it. ### Release note Support querying row binlog for incremental materialized views while keeping internal IVM columns hidden by default. ### Check List (For Author) - Test: Not run yet (verification follows after applying the related BE test compatibility change) - Behavior changed: Yes. binlog() accepts IVM MTMV tables and follows show_hidden_columns for internal IVM columns. - Does this need documentation: No * [fix](be) Fix row binlog writer test metadata ### What problem does this PR solve? Issue Number: N/A Related PR: apache#65076, apache#65663 Problem Summary: The row-binlog writer BE unit test no longer compiles after allocate_binlog_lsn changed to accept a vector reference. After that compile error is fixed, the test aborts because its filtered row-binlog schema retains the metadata indexes from before two hidden columns were removed and its assertions still expect the previous LSN, operation, and timestamp layout. Initialize the LSN vector before passing it by reference, reset the TSO, LSN, and operation indexes after filtering, and verify values using the current metadata order and types. ### Release note None ### Check List (For Author) - Test: Unit Test - ./run-be-ut.sh --run '--filter=GroupRowsetWriterTest.*' - Behavior changed: No - Does this need documentation: No
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 free
to 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: #65076
Problem Summary:
The master FE test compilation fails because
SchemaChangeHandlerTestreferences the removed
Column.BINLOG_TIMESTAMP_COLconstant. TwoOlapTableRowBinlogSchemaTestassertions also expect LSN indexes from theprevious metadata layout.
Root cause: PR #65076 added these tests using the previous row-binlog metadata
schema. PR #64133 subsequently replaced the timestamp column with TSO,
changed the LSN type to
BIGINT, and ordered the metadata columns asTSO, LSN, and operation before #65076 was merged.
This change aligns both test fixtures with the current production schema,
updates the expected LSN indexes, and explicitly verifies TSO positions.
SchemaChangeHandlerTest.javaOlapTableRowBinlogSchemaTest.javaRelease note
None
Check List (For Author)
Test
mvn install -DskipTests -Dmaven.build.cache.enabled=false./run-fe-ut.sh --run org.apache.doris.catalog.OlapTableRowBinlogSchemaTest,org.apache.doris.alter.SchemaChangeHandlerTestBehavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)