yuqi1129 opened a new pull request, #14556:
URL: https://github.com/apache/gravitino/pull/14556

   ### What changes were proposed in this pull request?
   
   - Translate Iceberg table rename conflicts to Gravitino's 
`TableAlreadyExistsException`, preserving the cause and destination identifier.
   - Validate ordered Lance column changes against the dataset schema before 
any mutations, rejecting duplicate names without changing the dataset or stored 
metadata.
   - Preserve JAX-RS HTTP error statuses and protocol headers in Lance error 
responses; report invalid query parameters as 400.
   
   ### Why are the changes needed?
   
   These client errors currently surface as 500 responses, preventing clients 
from distinguishing invalid requests and name conflicts from server failures.
   
   Fixes #14419
   Fixes #14425
   Fixes #14426
   
   ### Does this PR introduce _any_ user-facing change?
   
   Iceberg rename conflicts return 409. Lance duplicate column names return 400 
through both REST APIs. Lance REST returns 415 for unsupported Content-Type and 
400 for invalid query parameters, using the Lance error envelope. Framework 5xx 
details remain hidden.
   
   ### How was this patch tested?
   
   - 421 non-Docker tests across the generic catalog, Iceberg catalog and Lance 
REST modules.
   - A real Lance service integration test covering duplicate column names 
through both REST APIs, followed by a successful rename.
   - The server's existing rename-conflict HTTP 409 regression test.
   - All 423 distinct tests passed. The 15 key regression cases failed with the 
production fixes reverted and passed after restoration.
   - Spotless and `git diff --check` passed.
   


-- 
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]

Reply via email to