lasdf1234 opened a new pull request, #11153:
URL: https://github.com/apache/gravitino/pull/11153

   ### What changes were proposed in this pull request?
   
   When IRC runs with `iceberg.config-provider.impl = dynamic-config-provider` 
(required when authorization is enabled), server-level `table-metadata-cache-*` 
settings in `gravitino.conf` were parsed at startup but never applied to 
per-catalog `IcebergConfig`. Catalogs therefore used `TableMetadataCache.DUMMY` 
unless cache properties were set on each catalog individually.
   
   This PR reuses `StaticIcebergConfigProvider.initCatalogConfigs()` during 
dynamic provider initialization and merges the resolved static catalog config 
into the dynamic per-catalog config with `putIfAbsent`, so catalog-level 
properties continue to override server defaults.
   
   ### Why are the changes needed?
   
   Fixes #11128
   
   Authorization-enabled deployments always use the dynamic config provider. 
Operators configure table metadata cache at the server level (visible in the 
boot log) but get no cache behavior and no warning. The static provider path 
already worked; this aligns the dynamic path with the same layering model.
   
   ### Does this PR introduce _any_ user-facing change?
   
   Yes. Server-level `gravitino.iceberg-rest.table-metadata-cache-*` (and other 
`catalog.<name>.*` static IRC properties) now take effect for dynamic catalogs. 
Per-catalog properties still win when both are set.
   
   ### How was this patch tested?
   
   - Added unit tests in `TestDynamicIcebergConfigProvider` for 
`initCatalogConfigs`, named/default catalog merge behavior, and 
`mergeAbsentProperties`.
   - `./gradlew :iceberg:iceberg-rest-server:test -PskipITs`
   
   Made with [Cursor](https://cursor.com)


-- 
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]

Reply via email to