diqiu50 opened a new pull request, #14517: URL: https://github.com/apache/gravitino/pull/14517
### What changes were proposed in this pull request? - Map Glue SDK failures in one place: rejected credentials to 403, region/endpoint mismatch and invalid input to 400, throttling to 503, unreachable endpoint or timeout to 502. Long AWS messages are shortened. - Use the same mapping for partition and Iceberg operations, and map `ForbiddenException` to 403 in the partition REST handler. - Validate catalog properties at create and alter: known lower-case region, 12-digit catalog ID, http(s) endpoint, S3 warehouse, documented table format values. At create, also check the key pair locally and reject temporary keys. No AWS call is made. - Add `aws-glue-api-call-timeout-ms`, `aws-glue-api-call-attempt-timeout-ms` and `aws-glue-max-attempts`, also applied to the Iceberg Glue client. - Apply `table-format-filter` to load, alter, drop and create. - Return `false` when dropping a missing database without cascade. ### Why are the changes needed? Client-side and configuration errors were reported as server errors, and invalid catalogs were stored and failed only on first use. Fixes #14516 ### Does this PR introduce _any_ user-facing change? Yes. - New catalog properties: `aws-glue-api-call-timeout-ms` (default 30000), `aws-glue-api-call-attempt-timeout-ms` (default 10000), `aws-glue-max-attempts` (default 4). - Invalid catalog property values are now rejected at create and alter. - HTTP status codes of the Glue error cases above change from 500 to 4xx/502/503. ### How was this patch tested? Added unit tests in `catalog-glue` and `TestExceptionHandlers`. -- 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]
