apache/gravitino

[Subtask] Support policies for function metadata objects

Open

#12,501 opened on Aug 18, 2026

 (2 comments) (0 reactions) (0 assignees)Java (887 forks)auto 404
good first issuesubtask

Repository metrics

Stars
 (3,058 stars)
PR merge metrics
 (Avg merge 6d 6h) (148 merged PRs in 30d)

Description

Describe the subtask

Support associating policies with FUNCTION metadata objects through the existing metadata object policy REST APIs.

Currently, FUNCTION exists in MetadataObject.Type, but it is excluded from PolicyManager.SUPPORTED_METADATA_OBJECT_TYPES_FOR_POLICIES. As a result, policy association requests for functions are rejected with Cannot associate policies for unsupported metadata object type FUNCTION.

Implementation scope:

  • Add FUNCTION to the supported metadata object types in PolicyManager.
  • Clean up function policy relations when a function is dropped.
  • Extend catalog and schema cascade cleanup for function policy relations across H2, MySQL, and PostgreSQL.
  • Update docs/open-api/policies.yaml to include FUNCTION.
  • Add unit and integration tests covering policy association, listing, retrieval, removal, direct function deletion, and cascade cleanup.

The completed function tag implementation in #11844 and #11897 can be used as a reference.

This task covers the server, core relational storage, OpenAPI, and their tests. Typed Java and Python client APIs can be handled in follow-up issues.

This task extends the current direct object-policy model and does not implement the policy-on-tag model proposed in #12176.

Parent issue

#6158

Contributor guide