Skip to content

Commit eabc82c

Browse files
committed
Reduce getRealmConfig calls
classes with a `CallContext` field should call `getRealmConfig` once and store it as a field as well. the idea is that long term we would want to stop relying on the `CallContext` itself but instead inject its items individually.
1 parent c165249 commit eabc82c

File tree

9 files changed

+56
-80
lines changed

9 files changed

+56
-80
lines changed

runtime/service/src/main/java/org/apache/polaris/service/admin/PolarisAdminService.java

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
import org.apache.polaris.core.auth.PolarisAuthorizer;
8080
import org.apache.polaris.core.catalog.PolarisCatalogHelpers;
8181
import org.apache.polaris.core.config.FeatureConfiguration;
82+
import org.apache.polaris.core.config.RealmConfig;
8283
import org.apache.polaris.core.connection.AuthenticationParametersDpo;
8384
import org.apache.polaris.core.context.CallContext;
8485
import org.apache.polaris.core.entity.CatalogEntity;
@@ -137,6 +138,7 @@ public class PolarisAdminService {
137138
private static final Logger LOGGER = LoggerFactory.getLogger(PolarisAdminService.class);
138139

139140
private final CallContext callContext;
141+
private final RealmConfig realmConfig;
140142
private final ResolutionManifestFactory resolutionManifestFactory;
141143
private final SecurityContext securityContext;
142144
private final AuthenticatedPolarisPrincipal authenticatedPrincipal;
@@ -157,6 +159,7 @@ public PolarisAdminService(
157159
@NotNull PolarisAuthorizer authorizer,
158160
@NotNull ReservedProperties reservedProperties) {
159161
this.callContext = callContext;
162+
this.realmConfig = callContext.getRealmConfig();
160163
this.resolutionManifestFactory = resolutionManifestFactory;
161164
this.metaStoreManager = metaStoreManager;
162165
this.securityContext = securityContext;
@@ -654,7 +657,7 @@ private String terminateWithSlash(String path) {
654657
*/
655658
private boolean catalogOverlapsWithExistingCatalog(CatalogEntity catalogEntity) {
656659
boolean allowOverlappingCatalogUrls =
657-
callContext.getRealmConfig().getConfig(FeatureConfiguration.ALLOW_OVERLAPPING_CATALOG_URLS);
660+
realmConfig.getConfig(FeatureConfiguration.ALLOW_OVERLAPPING_CATALOG_URLS);
658661
if (allowOverlappingCatalogUrls) {
659662
return false;
660663
}
@@ -755,8 +758,7 @@ public PolarisEntity createCatalog(CreateCatalogRequest catalogRequest) {
755758
PolarisAuthorizableOperation op = PolarisAuthorizableOperation.CREATE_CATALOG;
756759
authorizeBasicRootOperationOrThrow(op);
757760

758-
CatalogEntity entity =
759-
CatalogEntity.fromCatalog(callContext.getRealmConfig(), catalogRequest.getCatalog());
761+
CatalogEntity entity = CatalogEntity.fromCatalog(realmConfig, catalogRequest.getCatalog());
760762

761763
checkArgument(entity.getId() == -1, "Entity to be created must have no ID assigned");
762764

@@ -784,11 +786,10 @@ public PolarisEntity createCatalog(CreateCatalogRequest catalogRequest) {
784786
.addKeyValue("catalogName", entity.getName())
785787
.log("Creating a federated catalog");
786788
FeatureConfiguration.enforceFeatureEnabledOrThrow(
787-
callContext.getRealmConfig(), FeatureConfiguration.ENABLE_CATALOG_FEDERATION);
789+
realmConfig, FeatureConfiguration.ENABLE_CATALOG_FEDERATION);
788790
Map<String, UserSecretReference> processedSecretReferences = Map.of();
789791
List<String> supportedAuthenticationTypes =
790-
callContext
791-
.getRealmConfig()
792+
realmConfig
792793
.getConfig(FeatureConfiguration.SUPPORTED_EXTERNAL_CATALOG_AUTHENTICATION_TYPES)
793794
.stream()
794795
.map(s -> s.toUpperCase(Locale.ROOT))
@@ -841,8 +842,7 @@ public void deleteCatalog(String name) {
841842
findCatalogByName(name)
842843
.orElseThrow(() -> new NotFoundException("Catalog %s not found", name));
843844
// TODO: Handle return value in case of concurrent modification
844-
boolean cleanup =
845-
callContext.getRealmConfig().getConfig(FeatureConfiguration.CLEANUP_ON_CATALOG_DROP);
845+
boolean cleanup = realmConfig.getConfig(FeatureConfiguration.CLEANUP_ON_CATALOG_DROP);
846846
DropEntityResult dropEntityResult =
847847
metaStoreManager.dropEntityIfExists(
848848
getCurrentPolarisContext(), null, entity, Map.of(), cleanup);
@@ -961,7 +961,7 @@ private void validateUpdateCatalogDiffOrThrow(
961961
}
962962
if (updateRequest.getStorageConfigInfo() != null) {
963963
updateBuilder.setStorageConfigurationInfo(
964-
callContext.getRealmConfig(), updateRequest.getStorageConfigInfo(), defaultBaseLocation);
964+
realmConfig, updateRequest.getStorageConfigInfo(), defaultBaseLocation);
965965
}
966966
CatalogEntity updatedEntity = updateBuilder.build();
967967

runtime/service/src/main/java/org/apache/polaris/service/admin/PolarisServiceImpl.java

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@
6262
import org.apache.polaris.core.auth.AuthenticatedPolarisPrincipal;
6363
import org.apache.polaris.core.auth.PolarisAuthorizer;
6464
import org.apache.polaris.core.config.FeatureConfiguration;
65+
import org.apache.polaris.core.config.RealmConfig;
6566
import org.apache.polaris.core.context.CallContext;
6667
import org.apache.polaris.core.context.RealmContext;
6768
import org.apache.polaris.core.entity.CatalogEntity;
@@ -94,6 +95,7 @@ public class PolarisServiceImpl
9495
private final MetaStoreManagerFactory metaStoreManagerFactory;
9596
private final UserSecretsManagerFactory userSecretsManagerFactory;
9697
private final CallContext callContext;
98+
private final RealmConfig realmConfig;
9799
private final ReservedProperties reservedProperties;
98100

99101
@Inject
@@ -109,6 +111,7 @@ public PolarisServiceImpl(
109111
this.userSecretsManagerFactory = userSecretsManagerFactory;
110112
this.polarisAuthorizer = polarisAuthorizer;
111113
this.callContext = callContext;
114+
this.realmConfig = callContext.getRealmConfig();
112115
this.reservedProperties = reservedProperties;
113116
}
114117

@@ -149,9 +152,7 @@ public Response createCatalog(
149152

150153
private void validateStorageConfig(StorageConfigInfo storageConfigInfo) {
151154
List<String> allowedStorageTypes =
152-
callContext
153-
.getRealmConfig()
154-
.getConfig(FeatureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES);
155+
realmConfig.getConfig(FeatureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES);
155156
if (!allowedStorageTypes.contains(storageConfigInfo.getStorageType().name())) {
156157
LOGGER
157158
.atWarn()
@@ -178,10 +179,7 @@ private void validateConnectionConfigInfo(ConnectionConfigInfo connectionConfigI
178179

179180
String connectionType = connectionConfigInfo.getConnectionType().name();
180181
List<String> supportedConnectionTypes =
181-
callContext
182-
.getRealmConfig()
183-
.getConfig(FeatureConfiguration.SUPPORTED_CATALOG_CONNECTION_TYPES)
184-
.stream()
182+
realmConfig.getConfig(FeatureConfiguration.SUPPORTED_CATALOG_CONNECTION_TYPES).stream()
185183
.map(s -> s.toUpperCase(Locale.ROOT))
186184
.toList();
187185
if (!supportedConnectionTypes.contains(connectionType)) {
@@ -193,8 +191,7 @@ private void validateAuthenticationParameters(AuthenticationParameters authentic
193191

194192
String authenticationType = authenticationParameters.getAuthenticationType().name();
195193
List<String> supportedAuthenticationTypes =
196-
callContext
197-
.getRealmConfig()
194+
realmConfig
198195
.getConfig(FeatureConfiguration.SUPPORTED_EXTERNAL_CATALOG_AUTHENTICATION_TYPES)
199196
.stream()
200197
.map(s -> s.toUpperCase(Locale.ROOT))

runtime/service/src/main/java/org/apache/polaris/service/catalog/common/CatalogHandler.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.apache.polaris.core.auth.PolarisAuthorizableOperation;
3636
import org.apache.polaris.core.auth.PolarisAuthorizer;
3737
import org.apache.polaris.core.catalog.PolarisCatalogHelpers;
38+
import org.apache.polaris.core.config.RealmConfig;
3839
import org.apache.polaris.core.context.CallContext;
3940
import org.apache.polaris.core.entity.PolarisEntitySubType;
4041
import org.apache.polaris.core.entity.PolarisEntityType;
@@ -60,6 +61,7 @@ public abstract class CatalogHandler {
6061
protected final PolarisAuthorizer authorizer;
6162

6263
protected final CallContext callContext;
64+
protected final RealmConfig realmConfig;
6365
protected final AuthenticatedPolarisPrincipal authenticatedPrincipal;
6466
protected final SecurityContext securityContext;
6567

@@ -70,6 +72,7 @@ public CatalogHandler(
7072
String catalogName,
7173
PolarisAuthorizer authorizer) {
7274
this.callContext = callContext;
75+
this.realmConfig = callContext.getRealmConfig();
7376
this.resolutionManifestFactory = resolutionManifestFactory;
7477
this.catalogName = catalogName;
7578
PolarisDiagnostics diagServices = callContext.getPolarisCallContext().getDiagServices();

runtime/service/src/main/java/org/apache/polaris/service/catalog/generic/GenericTableCatalogAdapter.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import org.apache.iceberg.catalog.TableIdentifier;
2626
import org.apache.polaris.core.auth.PolarisAuthorizer;
2727
import org.apache.polaris.core.config.FeatureConfiguration;
28+
import org.apache.polaris.core.config.RealmConfig;
2829
import org.apache.polaris.core.context.CallContext;
2930
import org.apache.polaris.core.context.RealmContext;
3031
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
@@ -46,6 +47,7 @@ public class GenericTableCatalogAdapter
4647
private static final Logger LOGGER = LoggerFactory.getLogger(GenericTableCatalogAdapter.class);
4748

4849
private final RealmContext realmContext;
50+
private final RealmConfig realmConfig;
4951
private final CallContext callContext;
5052
private final ResolutionManifestFactory resolutionManifestFactory;
5153
private final PolarisMetaStoreManager metaStoreManager;
@@ -64,6 +66,7 @@ public GenericTableCatalogAdapter(
6466
ReservedProperties reservedProperties) {
6567
this.realmContext = realmContext;
6668
this.callContext = callContext;
69+
this.realmConfig = callContext.getRealmConfig();
6770
this.resolutionManifestFactory = resolutionManifestFactory;
6871
this.metaStoreManager = metaStoreManager;
6972
this.polarisAuthorizer = polarisAuthorizer;
@@ -74,7 +77,7 @@ public GenericTableCatalogAdapter(
7477
private GenericTableCatalogHandler newHandlerWrapper(
7578
SecurityContext securityContext, String prefix) {
7679
FeatureConfiguration.enforceFeatureEnabledOrThrow(
77-
callContext.getRealmConfig(), FeatureConfiguration.ENABLE_GENERIC_TABLES);
80+
realmConfig, FeatureConfiguration.ENABLE_GENERIC_TABLES);
7881
validatePrincipal(securityContext);
7982

8083
return new GenericTableCatalogHandler(

runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalog.java

Lines changed: 21 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,7 @@ public class IcebergCatalog extends BaseMetastoreViewCatalog
171171
private final StorageCredentialCache storageCredentialCache;
172172
private final ResolverFactory resolverFactory;
173173
private final CallContext callContext;
174+
private final RealmConfig realmConfig;
174175
private final PolarisResolutionManifestCatalogView resolvedEntityView;
175176
private final CatalogEntity catalogEntity;
176177
private final TaskExecutor taskExecutor;
@@ -209,6 +210,7 @@ public IcebergCatalog(
209210
this.storageCredentialCache = storageCredentialCache;
210211
this.resolverFactory = resolverFactory;
211212
this.callContext = callContext;
213+
this.realmConfig = callContext.getRealmConfig();
212214
this.resolvedEntityView = resolvedEntityView;
213215
this.catalogEntity =
214216
CatalogEntity.of(resolvedEntityView.getResolvedReferenceCatalogEntity().getRawLeafEntity());
@@ -256,7 +258,7 @@ public void initialize(String name, Map<String, String> properties) {
256258
var storageConfigurationInfo = catalogEntity.getStorageConfigurationInfo();
257259
ioImplClassName =
258260
IcebergPropertiesValidation.determineFileIOClassName(
259-
callContext.getRealmConfig(), properties, storageConfigurationInfo);
261+
realmConfig, properties, storageConfigurationInfo);
260262

261263
if (ioImplClassName == null) {
262264
LOGGER.warn(
@@ -346,10 +348,8 @@ public TableOperations newTableOps(
346348
@Override
347349
protected TableOperations newTableOps(TableIdentifier tableIdentifier) {
348350
boolean makeMetadataCurrentOnCommit =
349-
callContext
350-
.getRealmConfig()
351-
.getConfig(
352-
BehaviorChangeConfiguration.TABLE_OPERATIONS_MAKE_METADATA_CURRENT_ON_COMMIT);
351+
realmConfig.getConfig(
352+
BehaviorChangeConfiguration.TABLE_OPERATIONS_MAKE_METADATA_CURRENT_ON_COMMIT);
353353
return newTableOps(tableIdentifier, makeMetadataCurrentOnCommit);
354354
}
355355

@@ -488,7 +488,7 @@ private void createNamespaceInternal(
488488

489489
// Set / suffix
490490
boolean requireTrailingSlash =
491-
callContext.getRealmConfig().getConfig(FeatureConfiguration.ADD_TRAILING_SLASH_TO_LOCATION);
491+
realmConfig.getConfig(FeatureConfiguration.ADD_TRAILING_SLASH_TO_LOCATION);
492492
if (requireTrailingSlash && !baseLocation.endsWith("/")) {
493493
baseLocation += "/";
494494
}
@@ -502,9 +502,7 @@ private void createNamespaceInternal(
502502
.setCreateTimestamp(System.currentTimeMillis())
503503
.setBaseLocation(baseLocation)
504504
.build();
505-
if (!callContext
506-
.getRealmConfig()
507-
.getConfig(FeatureConfiguration.ALLOW_NAMESPACE_LOCATION_OVERLAP)) {
505+
if (!realmConfig.getConfig(FeatureConfiguration.ALLOW_NAMESPACE_LOCATION_OVERLAP)) {
508506
LOGGER.debug("Validating no overlap for {} with sibling tables or namespaces", namespace);
509507
validateNoLocationOverlap(entity, resolvedParent.getRawFullPath());
510508
} else {
@@ -641,9 +639,7 @@ public boolean dropNamespace(Namespace namespace) throws NamespaceNotEmptyExcept
641639
PolarisEntity.toCoreList(catalogPath),
642640
leafEntity,
643641
Map.of(),
644-
callContext
645-
.getRealmConfig()
646-
.getConfig(FeatureConfiguration.CLEANUP_ON_NAMESPACE_DROP));
642+
realmConfig.getConfig(FeatureConfiguration.CLEANUP_ON_NAMESPACE_DROP));
647643

648644
if (!dropEntityResult.isSuccess() && dropEntityResult.failedBecauseNotEmpty()) {
649645
throw new NamespaceNotEmptyException("Namespace %s is not empty", namespace);
@@ -668,9 +664,7 @@ public boolean setProperties(Namespace namespace, Map<String, String> properties
668664
PolarisEntity updatedEntity =
669665
new PolarisEntity.Builder(entity).setProperties(newProperties).build();
670666

671-
if (!callContext
672-
.getRealmConfig()
673-
.getConfig(FeatureConfiguration.ALLOW_NAMESPACE_LOCATION_OVERLAP)) {
667+
if (!realmConfig.getConfig(FeatureConfiguration.ALLOW_NAMESPACE_LOCATION_OVERLAP)) {
674668
LOGGER.debug("Validating no overlap with sibling tables or namespaces");
675669
validateNoLocationOverlap(
676670
NamespaceEntity.of(updatedEntity), resolvedEntities.getRawParentPath());
@@ -874,7 +868,6 @@ private String buildPrefixedLocation(TableIdentifier tableIdentifier) {
874868
*/
875869
private String applyDefaultLocationObjectStoragePrefix(
876870
TableIdentifier tableIdentifier, String location) {
877-
RealmConfig realmConfig = callContext.getRealmConfig();
878871
boolean prefixEnabled =
879872
realmConfig.getConfig(
880873
FeatureConfiguration.DEFAULT_LOCATION_OBJECT_STORAGE_PREFIX_ENABLED, catalogEntity);
@@ -1007,17 +1000,14 @@ private void validateLocationsForTableLike(
10071000
PolarisResolvedPathWrapper resolvedStorageEntity) {
10081001
Optional<PolarisStorageConfigurationInfo> optStorageConfiguration =
10091002
PolarisStorageConfigurationInfo.forEntityPath(
1010-
callContext.getRealmConfig(), resolvedStorageEntity.getRawFullPath());
1003+
realmConfig, resolvedStorageEntity.getRawFullPath());
10111004

10121005
optStorageConfiguration.ifPresentOrElse(
10131006
storageConfigInfo -> {
10141007
Map<String, Map<PolarisStorageActions, PolarisStorageIntegration.ValidationResult>>
10151008
validationResults =
10161009
InMemoryStorageIntegration.validateSubpathsOfAllowedLocations(
1017-
callContext.getRealmConfig(),
1018-
storageConfigInfo,
1019-
Set.of(PolarisStorageActions.ALL),
1020-
locations);
1010+
realmConfig, storageConfigInfo, Set.of(PolarisStorageActions.ALL), locations);
10211011
validationResults
10221012
.values()
10231013
.forEach(
@@ -1040,9 +1030,7 @@ private void validateLocationsForTableLike(
10401030
},
10411031
() -> {
10421032
List<String> allowedStorageTypes =
1043-
callContext
1044-
.getRealmConfig()
1045-
.getConfig(FeatureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES);
1033+
realmConfig.getConfig(FeatureConfiguration.SUPPORTED_CATALOG_STORAGE_TYPES);
10461034
if (!allowedStorageTypes.contains(StorageConfigInfo.StorageTypeEnum.FILE.name())) {
10471035
List<String> invalidLocations =
10481036
locations.stream()
@@ -1068,13 +1056,9 @@ private void validateNoLocationOverlap(
10681056
String location,
10691057
PolarisEntity entity) {
10701058
boolean validateViewOverlap =
1071-
callContext
1072-
.getRealmConfig()
1073-
.getConfig(BehaviorChangeConfiguration.VALIDATE_VIEW_LOCATION_OVERLAP);
1059+
realmConfig.getConfig(BehaviorChangeConfiguration.VALIDATE_VIEW_LOCATION_OVERLAP);
10741060

1075-
if (callContext
1076-
.getRealmConfig()
1077-
.getConfig(FeatureConfiguration.ALLOW_TABLE_LOCATION_OVERLAP, catalog)) {
1061+
if (realmConfig.getConfig(FeatureConfiguration.ALLOW_TABLE_LOCATION_OVERLAP, catalog)) {
10781062
LOGGER.debug("Skipping location overlap validation for identifier '{}'", identifier);
10791063
} else if (validateViewOverlap
10801064
|| entity.getSubType().equals(PolarisEntitySubType.ICEBERG_TABLE)) {
@@ -1108,7 +1092,7 @@ private <T extends PolarisEntity & LocationBasedEntity> void validateNoLocationO
11081092

11091093
// Attempt to directly query for siblings
11101094
boolean useOptimizedSiblingCheck =
1111-
callContext.getRealmConfig().getConfig(FeatureConfiguration.OPTIMIZED_SIBLING_CHECK);
1095+
realmConfig.getConfig(FeatureConfiguration.OPTIMIZED_SIBLING_CHECK);
11121096
if (useOptimizedSiblingCheck) {
11131097
Optional<Optional<String>> directSiblingCheckResult =
11141098
getMetaStoreManager().hasOverlappingSiblings(callContext.getPolarisCallContext(), entity);
@@ -2018,12 +2002,9 @@ protected void refreshFromMetadataLocation(
20182002
}
20192003

20202004
private void validateMetadataFileInTableDir(TableIdentifier identifier, TableMetadata metadata) {
2021-
boolean allowEscape =
2022-
callContext.getRealmConfig().getConfig(FeatureConfiguration.ALLOW_EXTERNAL_TABLE_LOCATION);
2005+
boolean allowEscape = realmConfig.getConfig(FeatureConfiguration.ALLOW_EXTERNAL_TABLE_LOCATION);
20232006
if (!allowEscape
2024-
&& !callContext
2025-
.getRealmConfig()
2026-
.getConfig(FeatureConfiguration.ALLOW_EXTERNAL_METADATA_FILE_LOCATION)) {
2007+
&& !realmConfig.getConfig(FeatureConfiguration.ALLOW_EXTERNAL_METADATA_FILE_LOCATION)) {
20272008
LOGGER.debug(
20282009
"Validating base location {} for table {} in metadata file {}",
20292010
metadata.location(),
@@ -2223,7 +2204,7 @@ private void createTableLike(
22232204
IcebergTableLikeEntity icebergTableLikeEntity = IcebergTableLikeEntity.of(entity);
22242205
// Set / suffix
22252206
boolean requireTrailingSlash =
2226-
callContext.getRealmConfig().getConfig(FeatureConfiguration.ADD_TRAILING_SLASH_TO_LOCATION);
2207+
realmConfig.getConfig(FeatureConfiguration.ADD_TRAILING_SLASH_TO_LOCATION);
22272208
if (requireTrailingSlash
22282209
&& icebergTableLikeEntity.getBaseLocation() != null
22292210
&& !icebergTableLikeEntity.getBaseLocation().endsWith("/")) {
@@ -2288,7 +2269,7 @@ private void updateTableLike(TableIdentifier identifier, PolarisEntity entity) {
22882269

22892270
// Set / suffix
22902271
boolean requireTrailingSlash =
2291-
callContext.getRealmConfig().getConfig(FeatureConfiguration.ADD_TRAILING_SLASH_TO_LOCATION);
2272+
realmConfig.getConfig(FeatureConfiguration.ADD_TRAILING_SLASH_TO_LOCATION);
22922273
if (requireTrailingSlash
22932274
&& icebergTableLikeEntity.getBaseLocation() != null
22942275
&& !icebergTableLikeEntity.getBaseLocation().endsWith("/")) {
@@ -2348,9 +2329,7 @@ private void updateTableLike(TableIdentifier identifier, PolarisEntity entity) {
23482329
// Check that purge is enabled, if it is set:
23492330
if (catalogPath != null && !catalogPath.isEmpty() && purge) {
23502331
boolean dropWithPurgeEnabled =
2351-
callContext
2352-
.getRealmConfig()
2353-
.getConfig(FeatureConfiguration.DROP_WITH_PURGE_ENABLED, catalogEntity);
2332+
realmConfig.getConfig(FeatureConfiguration.DROP_WITH_PURGE_ENABLED, catalogEntity);
23542333
if (!dropWithPurgeEnabled) {
23552334
throw new ForbiddenException(
23562335
String.format(
@@ -2575,8 +2554,6 @@ protected FileIO loadFileIO(String ioImpl, Map<String, String> properties) {
25752554
}
25762555

25772556
private int getMaxMetadataRefreshRetries() {
2578-
return callContext
2579-
.getRealmConfig()
2580-
.getConfig(FeatureConfiguration.MAX_METADATA_REFRESH_RETRIES);
2557+
return realmConfig.getConfig(FeatureConfiguration.MAX_METADATA_REFRESH_RETRIES);
25812558
}
25822559
}

runtime/service/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalogAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,8 @@ public class IcebergCatalogAdapter
138138
.build();
139139

140140
private final RealmContext realmContext;
141-
private final CallContext callContext;
142141
private final RealmConfig realmConfig;
142+
private final CallContext callContext;
143143
private final CallContextCatalogFactory catalogFactory;
144144
private final ResolutionManifestFactory resolutionManifestFactory;
145145
private final ResolverFactory resolverFactory;

0 commit comments

Comments
 (0)