diqiu50 opened a new pull request, #13302: URL: https://github.com/apache/gravitino/pull/13302
### What changes were proposed in this pull request? - `gravitino.metalake` is optional. When unset, the connector loads the catalogs of every metalake and the system tables report every metalake. - Add `gravitino.catalog-name-with-metalake` (default `false`) and deprecate `gravitino.use-single-metalake`, which is still honored when the new key is unset. - Add an optional `METALAKE` argument to the `create_catalog`, `drop_catalog` and `alter_catalog` procedures. It defaults to `gravitino.metalake` and is required when that is unset. - Track catalog registration state per metalake. When two metalakes claim the same unqualified Trino catalog name, the first one keeps it and the other is reported as `FAILED` in `catalog_status`; the procedures look catalogs up by metalake so they never act on the other metalake's catalog. - Add a `metalake` column to `gravitino.system.catalog`. - `gravitino.iceberg.rest-uri` is the default for every metalake and `gravitino.iceberg.rest-uri.<metalake>` overrides it per metalake. ### Why are the changes needed? Loading several metalakes and qualifying catalog names with the metalake are independent concerns, but a single switch controls both, and `gravitino.metalake` is mandatory. Fix: #13301 ### Does this PR introduce _any_ user-facing change? - `gravitino.metalake` is no longer required. - New property `gravitino.catalog-name-with-metalake`; `gravitino.use-single-metalake` is deprecated. - New optional `METALAKE` argument on the catalog procedures. - `gravitino.system.catalog` gains a trailing `metalake` column. - The unscoped `gravitino.iceberg.rest-uri` now applies to every loaded metalake. ### How was this patch tested? - Unit tests added for the config keys, the procedures with the `METALAKE` argument, the duplicate-name handling and the system tables. - `TrinoQueryIT` testsets pass (all: 242/242, `jdbc-mysql`: 17/17, `lakehouse-iceberg`: 24/24). 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
