You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@polaris.apache.org by "nandorKollar (via GitHub)" <gi...@apache.org> on 2026/04/02 16:30:11 UTC

Re: [PR] Create PolarisEvent only when event type is enabled by at least one event listener [polaris]

nandorKollar commented on code in PR #4064:
URL: https://github.com/apache/polaris/pull/4064#discussion_r3029085905


##########
site/content/in-dev/unreleased/configuration/config-sections/smallrye-polaris_event_listener.md:
##########
@@ -25,5 +25,6 @@ build:
 
 | Property | Default Value | Type | Description |
 |----------|---------------|------|-------------|
-| `polaris.event-listener.type` |  | `string` | The type of the event listener to use. Must be a registered (`PolarisEventListener`) identifier. <br><br>_Deprecated_ since 1.5.0, use 'polaris.event-listener.types' instead |
+| `polaris.event-listener.type` |  | `string` | The type of the event listener to use. Must be a registered (`PolarisEventListener`) identifier. <br><br>_Deprecated_ since 1.5.0, use 'polaris.event-listener.types' instead, if both are set, then      polaris.event-listener.types is prioritized  |
 | `polaris.event-listener.types` |  | `list of string` | Comma separated list of event listers, each item must be a registered (`PolarisEventListener`) identifier.   |
+| `polaris.event-listener.`_`<name>`_`.enabled-event-types` |  | `list of BEFORE_CREATE_CATALOG, AFTER_CREATE_CATALOG, BEFORE_DELETE_CATALOG, AFTER_DELETE_CATALOG, BEFORE_GET_CATALOG, AFTER_GET_CATALOG, BEFORE_UPDATE_CATALOG, AFTER_UPDATE_CATALOG, BEFORE_LIST_CATALOGS, AFTER_LIST_CATALOGS, BEFORE_CREATE_CATALOG_ROLE, AFTER_CREATE_CATALOG_ROLE, BEFORE_DELETE_CATALOG_ROLE, AFTER_DELETE_CATALOG_ROLE, BEFORE_GET_CATALOG_ROLE, AFTER_GET_CATALOG_ROLE, BEFORE_UPDATE_CATALOG_ROLE, AFTER_UPDATE_CATALOG_ROLE, BEFORE_LIST_CATALOG_ROLES, AFTER_LIST_CATALOG_ROLES, BEFORE_ADD_GRANT_TO_CATALOG_ROLE, AFTER_ADD_GRANT_TO_CATALOG_ROLE, BEFORE_REVOKE_GRANT_FROM_CATALOG_ROLE, AFTER_REVOKE_GRANT_FROM_CATALOG_ROLE, BEFORE_LIST_ASSIGNEE_PRINCIPAL_ROLES_FOR_CATALOG_ROLE, AFTER_LIST_ASSIGNEE_PRINCIPAL_ROLES_FOR_CATALOG_ROLE, BEFORE_LIST_GRANTS_FOR_CATALOG_ROLE, AFTER_LIST_GRANTS_FOR_CATALOG_ROLE, BEFORE_CREATE_PRINCIPAL, AFTER_CREATE_PRINCIPAL, BEFORE_DELETE_PRINCIPAL, AFTER_DELETE_PRINCIPAL, BEFORE_GET_PRIN
 CIPAL, AFTER_GET_PRINCIPAL, BEFORE_UPDATE_PRINCIPAL, AFTER_UPDATE_PRINCIPAL, BEFORE_ROTATE_CREDENTIALS, AFTER_ROTATE_CREDENTIALS, BEFORE_RESET_CREDENTIALS, AFTER_RESET_CREDENTIALS, BEFORE_LIST_PRINCIPALS, AFTER_LIST_PRINCIPALS, BEFORE_ASSIGN_PRINCIPAL_ROLE, AFTER_ASSIGN_PRINCIPAL_ROLE, BEFORE_REVOKE_PRINCIPAL_ROLE, AFTER_REVOKE_PRINCIPAL_ROLE, BEFORE_LIST_ASSIGNED_PRINCIPAL_ROLES, AFTER_LIST_ASSIGNED_PRINCIPAL_ROLES, BEFORE_CREATE_PRINCIPAL_ROLE, AFTER_CREATE_PRINCIPAL_ROLE, BEFORE_DELETE_PRINCIPAL_ROLE, AFTER_DELETE_PRINCIPAL_ROLE, BEFORE_GET_PRINCIPAL_ROLE, AFTER_GET_PRINCIPAL_ROLE, BEFORE_UPDATE_PRINCIPAL_ROLE, AFTER_UPDATE_PRINCIPAL_ROLE, BEFORE_LIST_PRINCIPAL_ROLES, AFTER_LIST_PRINCIPAL_ROLES, BEFORE_ASSIGN_CATALOG_ROLE_TO_PRINCIPAL_ROLE, AFTER_ASSIGN_CATALOG_ROLE_TO_PRINCIPAL_ROLE, BEFORE_REVOKE_CATALOG_ROLE_FROM_PRINCIPAL_ROLE, AFTER_REVOKE_CATALOG_ROLE_FROM_PRINCIPAL_ROLE, BEFORE_LIST_ASSIGNEE_PRINCIPALS_FOR_PRINCIPAL_ROLE, AFTER_LIST_ASSIGNEE_PRINCIPALS_FOR_PRINCIPAL_ROLE, 
 BEFORE_LIST_CATALOG_ROLES_FOR_PRINCIPAL_ROLE, AFTER_LIST_CATALOG_ROLES_FOR_PRINCIPAL_ROLE, BEFORE_CREATE_NAMESPACE, AFTER_CREATE_NAMESPACE, BEFORE_LIST_NAMESPACES, AFTER_LIST_NAMESPACES, BEFORE_LOAD_NAMESPACE_METADATA, AFTER_LOAD_NAMESPACE_METADATA, BEFORE_CHECK_EXISTS_NAMESPACE, AFTER_CHECK_EXISTS_NAMESPACE, BEFORE_DROP_NAMESPACE, AFTER_DROP_NAMESPACE, BEFORE_UPDATE_NAMESPACE_PROPERTIES, AFTER_UPDATE_NAMESPACE_PROPERTIES, BEFORE_CREATE_TABLE, AFTER_CREATE_TABLE, BEFORE_LIST_TABLES, AFTER_LIST_TABLES, BEFORE_LOAD_TABLE, AFTER_LOAD_TABLE, BEFORE_CHECK_EXISTS_TABLE, AFTER_CHECK_EXISTS_TABLE, BEFORE_DROP_TABLE, AFTER_DROP_TABLE, BEFORE_REGISTER_TABLE, AFTER_REGISTER_TABLE, BEFORE_RENAME_TABLE, AFTER_RENAME_TABLE, BEFORE_UPDATE_TABLE, AFTER_UPDATE_TABLE, BEFORE_REFRESH_TABLE, AFTER_REFRESH_TABLE, BEFORE_CREATE_VIEW, AFTER_CREATE_VIEW, BEFORE_LIST_VIEWS, AFTER_LIST_VIEWS, BEFORE_LOAD_VIEW, AFTER_LOAD_VIEW, BEFORE_CHECK_EXISTS_VIEW, AFTER_CHECK_EXISTS_VIEW, BEFORE_DROP_VIEW, AFTER_DROP_VI
 EW, BEFORE_RENAME_VIEW, AFTER_RENAME_VIEW, BEFORE_REPLACE_VIEW, AFTER_REPLACE_VIEW, BEFORE_REFRESH_VIEW, AFTER_REFRESH_VIEW, BEFORE_LOAD_CREDENTIALS, AFTER_LOAD_CREDENTIALS, BEFORE_COMMIT_TRANSACTION, AFTER_COMMIT_TRANSACTION, BEFORE_SEND_NOTIFICATION, AFTER_SEND_NOTIFICATION, BEFORE_GET_CONFIG, AFTER_GET_CONFIG, BEFORE_CREATE_POLICY, AFTER_CREATE_POLICY, BEFORE_LIST_POLICIES, AFTER_LIST_POLICIES, BEFORE_LOAD_POLICY, AFTER_LOAD_POLICY, BEFORE_UPDATE_POLICY, AFTER_UPDATE_POLICY, BEFORE_DROP_POLICY, AFTER_DROP_POLICY, BEFORE_ATTACH_POLICY, AFTER_ATTACH_POLICY, BEFORE_DETACH_POLICY, AFTER_DETACH_POLICY, BEFORE_GET_APPLICABLE_POLICIES, AFTER_GET_APPLICABLE_POLICIES, BEFORE_CREATE_GENERIC_TABLE, AFTER_CREATE_GENERIC_TABLE, BEFORE_DROP_GENERIC_TABLE, AFTER_DROP_GENERIC_TABLE, BEFORE_LIST_GENERIC_TABLES, AFTER_LIST_GENERIC_TABLES, BEFORE_LOAD_GENERIC_TABLE, AFTER_LOAD_GENERIC_TABLE, BEFORE_ATTEMPT_TASK, AFTER_ATTEMPT_TASK, BEFORE_LIMIT_REQUEST_RATE` | Comma separated list of enabled event 
 types. This event listener will only receive events of  the selected types.  |

Review Comment:
   To avoid 150 different event types, we could consider each event to have a 'category' or 'entityType'. One can then configure an event listener to consume only a set of event categories, instead of listing all of the event which are related to for example Catalog.



-- 
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: issues-unsubscribe@polaris.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org