roryqi opened a new pull request, #14566: URL: https://github.com/apache/gravitino/pull/14566
### What changes were proposed in this pull request? Share namespace-level validation between creation and authorization. Validate decoded namespace levels before authorization expression evaluation, and validate create requests before resolving their parent schema. ### Why are the changes needed? Requests naming a namespace level containing `.` currently fail with an internal authorization error. Reject these invalid names as bad requests before they reach metadata-object conversion or the catalog. Fixes #14562 ### Does this PR introduce _any_ user-facing change? Invalid namespace requests return HTTP 400 instead of 500. Encoded or literal `..` paths rejected during routing may return 404. ### How was this patch tested? - 130 targeted Iceberg REST tests passed, covering authorization, request-body handlers, namespace creation and operations, REST utilities, and exception mapping. - 24 HTTP requests cover GET, HEAD, property updates and DELETE with both explicit and default catalog paths. Inputs include `a%2Eb`, `%2e%2e` and literal `..`; raw socket requests preserve `..` without client normalization. The tests verify that the backend dispatcher is not called. - 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]
