This is an automated email from the ASF dual-hosted git repository.

dimas pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git


The following commit(s) were added to refs/heads/main by this push:
     new 4cf09ec77 Deprecate untyped `RealmConfig.getConfig()` (#3323)
4cf09ec77 is described below

commit 4cf09ec77c77e01fc4b375c635b11a9e474b1281
Author: Dmitri Bourlatchkov <[email protected]>
AuthorDate: Mon Jan 5 13:51:27 2026 -0500

    Deprecate untyped `RealmConfig.getConfig()` (#3323)
    
    * `getConfig(String)` has a generic return type, but the call path that 
gets the value does not perform any type validation.
    
    * Deprecate this method in favour of well-typed 
`getConfig(PolarisConfiguration)`
    
    * Migrate the single use case in Polaris code to the well-typed method.
---
 .../src/main/java/org/apache/polaris/core/config/RealmConfig.java      | 2 ++
 .../java/org/apache/polaris/service/catalog/common/CatalogUtils.java   | 3 ++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git 
a/polaris-core/src/main/java/org/apache/polaris/core/config/RealmConfig.java 
b/polaris-core/src/main/java/org/apache/polaris/core/config/RealmConfig.java
index 026ae8e2a..62135d72d 100644
--- a/polaris-core/src/main/java/org/apache/polaris/core/config/RealmConfig.java
+++ b/polaris-core/src/main/java/org/apache/polaris/core/config/RealmConfig.java
@@ -31,7 +31,9 @@ public interface RealmConfig {
    * @param <T> the type of the configuration value
    * @param configName the name of the configuration key to check
    * @return the current value set for the configuration key, or null if not 
set
+   * @deprecated Use typed {@link #getConfig(PolarisConfiguration)} instead.
    */
+  @Deprecated
   <T> @Nullable T getConfig(String configName);
 
   /**
diff --git 
a/runtime/service/src/main/java/org/apache/polaris/service/catalog/common/CatalogUtils.java
 
b/runtime/service/src/main/java/org/apache/polaris/service/catalog/common/CatalogUtils.java
index ce82f36e3..999b363fb 100644
--- 
a/runtime/service/src/main/java/org/apache/polaris/service/catalog/common/CatalogUtils.java
+++ 
b/runtime/service/src/main/java/org/apache/polaris/service/catalog/common/CatalogUtils.java
@@ -25,6 +25,7 @@ import java.util.stream.Collectors;
 import org.apache.iceberg.catalog.TableIdentifier;
 import org.apache.iceberg.exceptions.ForbiddenException;
 import org.apache.polaris.core.admin.model.StorageConfigInfo;
+import org.apache.polaris.core.config.FeatureConfiguration;
 import org.apache.polaris.core.config.RealmConfig;
 import org.apache.polaris.core.entity.PolarisEntitySubType;
 import org.apache.polaris.core.entity.PolarisEntityType;
@@ -77,7 +78,7 @@ public class CatalogUtils {
             restrictions -> restrictions.validate(realmConfig, identifier, 
locations),
             () -> {
               List<String> allowedStorageTypes =
-                  realmConfig.getConfig("SUPPORTED_CATALOG_STORAGE_TYPES");
+                  
realmConfig.getConfig(FeatureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES);
               if (allowedStorageTypes != null
                   && 
!allowedStorageTypes.contains(StorageConfigInfo.StorageTypeEnum.FILE.name())) {
                 List<String> invalidLocations =

Reply via email to