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

   ### What changes were proposed in this pull request?
   
   Fix REST validation and exception translation for metadata-object paths, 
role privilege overrides, and Iceberg operations:
   
   - Reject malformed metadata-object names, missing/null privilege overrides, 
and oversized schema comments before dispatch.
   - Return absence when probing tables in catalogs without table support, 
while preserving errors from supported backends.
   - Translate Iceberg schema/partition validation failures to 400 and table 
rename conflicts to 409; reject unsupported auto-increment columns before 
creation.
   - Validate JDBC namespace property values against the backend's 
1000-character limit before create/update, without limiting other backends.
   
   ### Why are the changes needed?
   
   Invalid requests currently return 500/501 or succeed while discarding 
unsupported input. The changes return the corresponding client errors and avoid 
modifying objects when validation fails.
   
   Fixes #14578
   Fixes #14304
   Fixes #14419
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. These invalid requests return 400, missing table metadata objects in 
non-table catalogs return 404, and Iceberg table rename conflicts return 409. 
Oversized schema comments and Iceberg auto-increment columns are rejected 
instead of accepted. No configuration keys are added.
   
   ### How was this patch tested?
   
   Regression suites cover request deserialization and HTTP error responses, 
metadata authorization, table existence probes, JDBC namespace property 
boundaries including Unicode, unchanged state after rejected operations, and 
valid requests in the affected modules.
   
   All 179 tests across 14 selected test classes passed in `common`, 
`core:coreUnitTest`, `server`, `iceberg:iceberg-common`, and 
`catalogs:catalog-lakehouse-iceberg` with `-PskipITs`. Spotless 
formatting/checks passed for the changed modules.
   


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