suxiaogang223 opened a new pull request, #69757: URL: https://github.com/apache/doris/pull/69757
### What problem does this PR solve? Issue Number: N/A Related issue: https://github.com/apache/iceberg/issues/13850 Problem Summary: With Iceberg SDK 1.9+ (including master's 1.12.0), dropping the highest-ID column sends the surviving schema's maximum field ID as `add-schema.last-column-id`. Iceberg REST 1.6.0 validates this deprecated field against the table's historical assigned-ID high-water mark, so a table with IDs 1, 2, 3 rejects dropping ID 3 with `Invalid last column ID: 2 < 3`. Dropping ID 2 from a two-column table fails in the same way. Configure the standard REST HTTP client with SDK-compatible Jackson codecs that preserve the base assigned-ID requirement in this legacy wire field. Track the maximum across successive schema updates, independently for each table in a multi-table commit. Keep field/schema IDs, commit requirements, authentication, retry handling, and existing DROP COLUMN partition-spec fencing unchanged. Non-schema commits use the upstream request parser directly. ### Release note Fix dropping the highest-ID Iceberg column through older REST catalogs, including Iceberg REST 1.6.0. ### Check List (For Author) - Test: - [ ] Unit Test: 10 added covering both drops, historical IDs, repeated schema updates, create/replace, multi-table isolation, unchanged payloads, concurrent schema changes, and existing response codecs. Not run locally. - [ ] Regression test: extend the REST 1.6.0 HDFS fixture suite with both drops, repeated drops, add/drop, and subsequent inserts. Not run locally. - Validation performed: repository Checkstyle 9.3 on all three changed Java files; `git diff --check`. Compilation and test execution are left to CI as requested; no local build dependencies or artifacts were created. - Behavior changed: Yes. Legacy REST servers receive a nondecreasing historical `last-column-id` for schema commits. - Does this need documentation: No. ### 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]
