jarredhj0214 opened a new issue, #13845: URL: https://github.com/apache/gravitino/issues/13845
### Version main branch ### Describe what's wrong Flink resolves qualified names by probing candidate objects. After `loadTable` returns 404, the Gravitino connector falls back to `loadView`. Unlike table loading, view loading does not support authorized existence probing, so a missing candidate can return 403 and abort SQL validation. ### Error message and/or stacktrace ```text ForbiddenException: User 'user' is not authorized to perform operation 'loadView' on metadata 'metalake.catalog.current_db.source_db' ``` ### How to reproduce 1. Enable authorization and configure the Gravitino Flink connector with a Hive catalog. 2. Grant the caller table access and table-like probe privileges, without view ownership or SELECT_VIEW. 3. Execute an INSERT referencing `source_db.source_table` while the current database is `current_db`. 4. Name resolution can probe `current_db.source_db`; the table probe returns 404, while the view fallback returns 403 and SQL validation fails. Fully qualified names can similarly trigger a probe using the catalog name as a candidate table name. Expected: authorized probes of missing candidate views return 404, allowing name resolution to continue. Existing views without load permission must remain forbidden. ### Additional context Table loading already supports existence probing through `PROBE_TABLE_LIKE_AUTHORIZATION_EXPRESSION`. View loading should follow the same mechanism and use the internal view dispatcher to avoid emitting user-facing events for internal probes. -- 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]
