roryqi opened a new pull request, #12718: URL: https://github.com/apache/gravitino/pull/12718
### What changes were proposed in this pull request? Implement the core runtime for policy-on-tag: 1. Resolve effective tags with child assignments overriding inherited assignments. 2. Deserialize persisted policy association selectors, including legacy relations without selector JSON. 3. Resolve, filter, and deduplicate enabled policies from effective tags. 4. Add policy-to-tag operations to the policy and tag managers. 5. Add focused resolver, selector, and manager tests. REST APIs, clients, authorization, listener events, and documentation are intentionally excluded from this PR. ### Why are the changes needed? The policy-on-tag API and relational storage have already been merged. This PR adds the runtime behavior required to resolve object policies from effective tag assignments. Part of #12176. ### Does this PR introduce _any_ user-facing change? Yes. Object policy lookup now derives enabled policies from effective tags and matching policy association selectors. ### How was this patch tested? - `./gradlew :core:spotlessApply :core:compileJava :core:compileTestJava` - `./gradlew :core:test --tests org.apache.gravitino.policy.TestPolicyAssociationSelectorSerde --tests org.apache.gravitino.policy.TestObjectPolicyResolver --tests org.apache.gravitino.tag.TestEffectiveTagResolver --tests org.apache.gravitino.tag.TestTagManager -PskipDockerTests=false` - `git diff --check` -- 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]
