mrhhsg opened a new pull request, #69395:
URL: https://github.com/apache/doris/pull/69395
### What problem does this PR solve?
Issue Number: None
Related PR: None
Problem Summary: Non-empty single-version rowsets can store physical
placeholders for publish-time hidden VERSION and TSO columns. Single-version
readers synthesize the published values from rowset metadata, but ordered
file-link compaction can combine those rowsets into a multi-version output
whose reader uses the physical placeholders. This can return incorrect
hidden-column values and time-travel results. Reject file links only when the
rowsets actually selected for linking contain unmaterialized hidden values, so
the existing merge path materializes them. Already-materialized range rowsets
and safe tidy prefixes remain eligible for file linking. The guard also covers
the changelog quick-merge path.
### Release note
Fix incorrect hidden VERSION and COMMIT_TSO values after local ordered
compaction.
### Check List (For Author)
- Test:
- ASAN BE+FE build (`BUILD_TYPE=ASAN ./build.sh --be --fe -j32`),
including FE Checkstyle: passed.
- BE unit tests (`./run-be-ut.sh --run
--filter='OrderedDataCompactionTest.*' -j32`): 6 passed.
- `test_ordered_compaction_hidden_version_column` regression: generated
expected output and passed a normal verification run with changelog and binlog
feature flags enabled (1/1); VERSION, COMMIT_TSO, and time-travel checks
executed.
- `clang-format`, `check-format`, build hygiene, changed-line
`clang-tidy`, and `git diff --check`: passed.
- Test coverage limitation: the COMMIT_TSO/time-travel branch is skipped
when changelog is enabled but binlog is disabled; the changelog quick-merge
fallback and CHANGELOG_TSO values are not directly runtime-tested.
- Behavior changed: Yes. Unsafe ordered links fall back to normal merge
compaction; safe, already-materialized prefixes remain linkable.
- Does this need documentation: No
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]