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]

Reply via email to