lasdf1234 opened a new issue, #11728:
URL: https://github.com/apache/gravitino/issues/11728
### Describe the feature
Iceberg REST Catalog spec defines `POST
/v1/{prefix}namespaces/{namespace}/register-view` to register an existing
Iceberg view metadata file into a catalog. Gravitino IRC (Iceberg REST Catalog
auxiliary service) already supports `register-table`, but does not expose the
symmetric `register-view` endpoint or advertise `V1_REGISTER_VIEW` in the
config response.
### Motivation
- Align Gravitino IRC with the Apache Iceberg REST API for view operations.
- Enable importing/registering views that already exist in external storage
(same workflow as `register-table`).
- When Gravitino authorization is enabled, registered views should be
imported into Gravitino metadata and assigned an owner, consistent with table
registration.
### Describe the solution
- Add `register-view` REST endpoint on `IcebergNamespaceOperations`.
- Wire `registerView` through view dispatcher chain (Hook → Event → Executor
→ `IcebergCatalogWrapper` → Iceberg `CatalogHandlers.registerView`).
- Import the view into Gravitino entity store and set owner to the
authenticated IRC caller when authorization is enabled (same semantics as
`register-table`).
- Add audit/event types (`IcebergRegisterViewPreEvent`, success/failure
events, `OperationType`).
- Expose `Endpoint.V1_REGISTER_VIEW` in IRC config.
- Add unit tests.
### Additional context
Reference: Iceberg `RegisterViewRequest` (`name`, `metadata-location`). This
mirrors the existing IRC `register-table` implementation pattern.
--
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]