Skip to content

Commit f5feb95

Browse files
authored
Eliminate usage of CatalogHandlers; introduce CatalogHandlerUtils (#1576)
* compiles * wire it up * De-static, add config * autolint * license entry * cut over * pull * revert helm doc * autolint
1 parent 66b72d7 commit f5feb95

File tree

8 files changed

+679
-38
lines changed

8 files changed

+679
-38
lines changed

LICENSE

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,6 +219,7 @@ This product includes code from Apache Iceberg.
219219
* spec/polaris-catalog-apis/oauth-tokens-api.yaml
220220
* integration-tests/src/main/java/org/apache/polaris/service/it/test/PolarisRestCatalogIntegrationTest.java
221221
* service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalog.java
222+
* service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/CatalogHandlerUtils.java
222223
* plugins/spark/v3.5/spark/src/main/java/org/apache/polaris/spark/PolarisSparkCatalog.java
223224
* plugins/spark/v3.5/spark/src/test/java/org/apache/polaris/spark/PolarisInMemoryCatalog.java
224225
* plugins/spark/v3.5/spark/src/main/java/org/apache/polaris/spark/PolarisRESTCatalog.java

polaris-core/src/main/java/org/apache/polaris/core/config/FeatureConfiguration.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -261,4 +261,12 @@ public static void enforceFeatureEnabledOrThrow(
261261
.description("The list of supported catalog connection types for federation")
262262
.defaultValue(List.of(ConnectionType.ICEBERG_REST.name()))
263263
.buildFeatureConfiguration();
264+
265+
public static final FeatureConfiguration<Integer> ICEBERG_COMMIT_MAX_RETRIES =
266+
PolarisConfiguration.<Integer>builder()
267+
.key("ICEBERG_COMMIT_MAX_RETRIES")
268+
.catalogConfig("polaris.config.iceberg-commit-max-retries")
269+
.description("The max number of times to try committing to an Iceberg table")
270+
.defaultValue(4)
271+
.buildFeatureConfiguration();
264272
}

quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@
8181
import org.apache.polaris.service.admin.PolarisAdminService;
8282
import org.apache.polaris.service.catalog.PolarisPassthroughResolutionView;
8383
import org.apache.polaris.service.catalog.generic.PolarisGenericTableCatalog;
84+
import org.apache.polaris.service.catalog.iceberg.CatalogHandlerUtils;
8485
import org.apache.polaris.service.catalog.iceberg.IcebergCatalog;
8586
import org.apache.polaris.service.catalog.io.FileIOFactory;
8687
import org.apache.polaris.service.catalog.policy.PolicyCatalog;
@@ -192,6 +193,7 @@ public Map<String, String> getConfigOverrides() {
192193
@Inject protected Clock clock;
193194
@Inject protected FileIOFactory fileIOFactory;
194195
@Inject protected PolarisEventListener polarisEventListener;
196+
@Inject protected CatalogHandlerUtils catalogHandlerUtils;
195197

196198
protected IcebergCatalog baseCatalog;
197199
protected PolarisGenericTableCatalog genericTableCatalog;

quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogHandlerAuthzTest.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ private IcebergCatalogHandler newWrapper(
116116
factory,
117117
catalogName,
118118
polarisAuthorizer,
119-
reservedProperties);
119+
reservedProperties,
120+
catalogHandlerUtils);
120121
}
121122

122123
/**
@@ -256,7 +257,8 @@ public void testInsufficientPermissionsPriorToSecretRotation() {
256257
callContextCatalogFactory,
257258
CATALOG_NAME,
258259
polarisAuthorizer,
259-
reservedProperties);
260+
reservedProperties,
261+
catalogHandlerUtils);
260262

261263
// a variety of actions are all disallowed because the principal's credentials must be rotated
262264
doTestInsufficientPrivileges(
@@ -290,7 +292,8 @@ public void testInsufficientPermissionsPriorToSecretRotation() {
290292
callContextCatalogFactory,
291293
CATALOG_NAME,
292294
polarisAuthorizer,
293-
reservedProperties);
295+
reservedProperties,
296+
catalogHandlerUtils);
294297

295298
doTestSufficientPrivilegeSets(
296299
List.of(Set.of(PolarisPrivilege.NAMESPACE_LIST)),

0 commit comments

Comments
 (0)