hubgeter opened a new pull request, #69633:
URL: https://github.com/apache/doris/pull/69633
### What problem does this PR solve?
Issue Number: DORIS-29853
Related PR: #69551
Problem Summary:
Doris exposes Iceberg row-lineage metadata columns through the same
connector schema as physical user columns. A V2 table can legally contain a
user column named `_row_id` or `_last_updated_sequence_number`; upgrading it to
V3 through `setTableProperties` then made the connector return both the
physical column and the same-named hidden lineage column.
This change reuses Iceberg's `MetadataColumns.schemaWithRowLineage` contract
to validate the effective schema before an upgrade to format-version 3 or
later. A conflicting upgrade is rejected before `UpdateProperties.commit()`, so
the whole property map and table metadata remain unchanged. The
effective-schema construction path also performs the same defensive validation
for conflicting V3 tables created by another engine.
### Release note
None
### Check List (For Author)
- Test
- [ ] Regression test
- [x] Unit Test
- `IcebergLineageDdlKnownBugsTest`: 5 tests passed, covering both
lineage names, metadata atomicity, existing conflicting V3 tables, successful
non-conflicting upgrade, and ordinary V2 property updates.
- Related Iceberg connector, metadata, schema, and DDL tests: 203
tests passed with FE Checkstyle.
- [ ] 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
- Behavior changed:
- [ ] No.
- [x] Yes.
- Does this need documentation?
- [x] No.
- [ ] Yes.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
--
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]