yuqi1129 opened a new pull request, #14682: URL: https://github.com/apache/gravitino/pull/14682
### What changes were proposed in this pull request? Normalize metadata object identifiers before TagManager reads or updates tag relations. Apply catalog naming capabilities to schema and object names, resolve physical table names for tables and column parents, and preserve Gravitino-owned Semantic Model names. Existence checks still use the original request so quoted names are not normalized twice. Each operation on a supported non-catalog object loads naming capabilities after the existence check; table and column operations also repeat physical table-name resolution. Catalog cache misses can reload the connector; connectors whose resolver reads the source can add a source read. Resolution failures propagate before tag relations are changed. The separate policy-inheritance lookup in `EffectiveTagResolver` is outside this change. ### Why are the changes needed? An object can pass the catalog's normalized existence check but fail the relation-store lookup because TagManager uses the original spelling. The same mismatch affects tag association and disassociation, including value assignments. Fixes #14681 ### Does this PR introduce _any_ user-facing change? Metadata-object tag operations accept equivalent object names according to the catalog's existing naming rules. Case-sensitive object names, tag names, and tag values are preserved. No API, configuration, or storage-schema changes. ### How was this patch tested? - Regression tests exercise real H2 relation storage for case-insensitive names, custom uppercase normalization, quoted names, physical table-name resolution, Semantic Model naming, and all ten tag-supported metadata object types. Ten regression cases fail before the fix. - 96 tests passed across eight explicitly selected classes via `:core:coreUnitTest`: TagManager, PolicyManager, EffectiveTagResolver, TagHookDispatcher, PolicyTagDispatcherChain, CapabilityHelpers, TableNormalizeDispatcher, and MetadataObjectUtil. - `:core:spotlessApply` and formatting checks passed. Tests use embedded H2; live connector and Docker-backed database tests were not run. -- 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]
