diff --git a/persistence/eclipselink/src/test/java/org/apache/polaris/extension/persistence/impl/eclipselink/PolarisEclipseLinkMetaStoreManagerTest.java b/persistence/eclipselink/src/test/java/org/apache/polaris/extension/persistence/impl/eclipselink/PolarisEclipseLinkMetaStoreManagerTest.java index 03fe51e8b0..45b77a0231 100644 --- a/persistence/eclipselink/src/test/java/org/apache/polaris/extension/persistence/impl/eclipselink/PolarisEclipseLinkMetaStoreManagerTest.java +++ b/persistence/eclipselink/src/test/java/org/apache/polaris/extension/persistence/impl/eclipselink/PolarisEclipseLinkMetaStoreManagerTest.java @@ -37,6 +37,7 @@ import org.apache.polaris.core.PolarisDefaultDiagServiceImpl; import org.apache.polaris.core.PolarisDiagnostics; import org.apache.polaris.core.config.PolarisConfigurationStore; +import org.apache.polaris.core.context.RealmContext; import org.apache.polaris.core.entity.PolarisPrincipalSecrets; import org.apache.polaris.core.persistence.BasePolarisMetaStoreManagerTest; import org.apache.polaris.core.persistence.PolarisTestMetaStoreManager; @@ -90,6 +91,7 @@ protected PolarisTestMetaStoreManager createPolarisTestMetaStoreManager() { return new PolarisTestMetaStoreManager( new TransactionalMetaStoreManagerImpl(), new PolarisCallContext( + Mockito.mock(RealmContext.class), session, diagServices, new PolarisConfigurationStore() {}, diff --git a/persistence/relational-jdbc/src/main/java/org/apache/polaris/persistence/relational/jdbc/JdbcMetaStoreManagerFactory.java b/persistence/relational-jdbc/src/main/java/org/apache/polaris/persistence/relational/jdbc/JdbcMetaStoreManagerFactory.java index 7ad83fe8a3..ab7cab4f86 100644 --- a/persistence/relational-jdbc/src/main/java/org/apache/polaris/persistence/relational/jdbc/JdbcMetaStoreManagerFactory.java +++ b/persistence/relational-jdbc/src/main/java/org/apache/polaris/persistence/relational/jdbc/JdbcMetaStoreManagerFactory.java @@ -157,7 +157,7 @@ public Map purgeRealms(Iterable realms) { PolarisMetaStoreManager metaStoreManager = getOrCreateMetaStoreManager(() -> realm); BasePersistence session = getOrCreateSessionSupplier(() -> realm).get(); - PolarisCallContext callContext = new PolarisCallContext(session, diagServices); + PolarisCallContext callContext = new PolarisCallContext(() -> realm, session, diagServices); BaseResult result = metaStoreManager.purge(callContext); results.put(realm, result); diff --git a/persistence/relational-jdbc/src/test/java/org/apache/polaris/persistence/relational/jdbc/AtomicMetastoreManagerWithJdbcBasePersistenceImplTest.java b/persistence/relational-jdbc/src/test/java/org/apache/polaris/persistence/relational/jdbc/AtomicMetastoreManagerWithJdbcBasePersistenceImplTest.java index 2789b0f317..1982475809 100644 --- a/persistence/relational-jdbc/src/test/java/org/apache/polaris/persistence/relational/jdbc/AtomicMetastoreManagerWithJdbcBasePersistenceImplTest.java +++ b/persistence/relational-jdbc/src/test/java/org/apache/polaris/persistence/relational/jdbc/AtomicMetastoreManagerWithJdbcBasePersistenceImplTest.java @@ -28,6 +28,7 @@ import org.apache.polaris.core.PolarisDefaultDiagServiceImpl; import org.apache.polaris.core.PolarisDiagnostics; import org.apache.polaris.core.config.PolarisConfigurationStore; +import org.apache.polaris.core.context.RealmContext; import org.apache.polaris.core.persistence.AtomicOperationMetaStoreManager; import org.apache.polaris.core.persistence.BasePolarisMetaStoreManagerTest; import org.apache.polaris.core.persistence.PolarisTestMetaStoreManager; @@ -61,6 +62,7 @@ protected PolarisTestMetaStoreManager createPolarisTestMetaStoreManager() { return new PolarisTestMetaStoreManager( new AtomicOperationMetaStoreManager(), new PolarisCallContext( + Mockito.mock(RealmContext.class), basePersistence, diagServices, new PolarisConfigurationStore() {}, diff --git a/polaris-core/src/main/java/org/apache/polaris/core/PolarisCallContext.java b/polaris-core/src/main/java/org/apache/polaris/core/PolarisCallContext.java index 4d5dfe9844..e0f1f7d572 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/PolarisCallContext.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/PolarisCallContext.java @@ -58,18 +58,6 @@ public PolarisCallContext( this.clock = clock; } - @Deprecated - public PolarisCallContext( - @Nonnull BasePersistence metaStore, - @Nonnull PolarisDiagnostics diagServices, - @Nonnull PolarisConfigurationStore configurationStore, - @Nonnull Clock clock) { - this.metaStore = metaStore; - this.diagServices = diagServices; - this.configurationStore = configurationStore; - this.clock = clock; - } - public PolarisCallContext( @Nonnull RealmContext realmContext, @Nonnull BasePersistence metaStore, @@ -81,15 +69,6 @@ public PolarisCallContext( this.clock = Clock.system(ZoneId.systemDefault()); } - @Deprecated - public PolarisCallContext( - @Nonnull BasePersistence metaStore, @Nonnull PolarisDiagnostics diagServices) { - this.metaStore = metaStore; - this.diagServices = diagServices; - this.configurationStore = new PolarisConfigurationStore() {}; - this.clock = Clock.system(ZoneId.systemDefault()); - } - public BasePersistence getMetaStore() { return metaStore; } diff --git a/polaris-core/src/main/java/org/apache/polaris/core/context/CallContext.java b/polaris-core/src/main/java/org/apache/polaris/core/context/CallContext.java index 340cf4a6e3..466b590c9b 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/context/CallContext.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/context/CallContext.java @@ -49,22 +49,6 @@ static void unsetCurrentContext() { CURRENT_CONTEXT.remove(); } - // only tests are using this method now, we can get rid of them easily in a followup - static CallContext of( - final RealmContext realmContext, final PolarisCallContext polarisCallContext) { - return new CallContext() { - @Override - public RealmContext getRealmContext() { - return realmContext; - } - - @Override - public PolarisCallContext getPolarisCallContext() { - return polarisCallContext; - } - }; - } - /** Copy the {@link CallContext}. */ static CallContext copyOf(CallContext base) { String realmId = base.getRealmContext().getRealmIdentifier(); diff --git a/polaris-core/src/main/java/org/apache/polaris/core/persistence/LocalPolarisMetaStoreManagerFactory.java b/polaris-core/src/main/java/org/apache/polaris/core/persistence/LocalPolarisMetaStoreManagerFactory.java index 8d385bd0c3..5500730c65 100644 --- a/polaris-core/src/main/java/org/apache/polaris/core/persistence/LocalPolarisMetaStoreManagerFactory.java +++ b/polaris-core/src/main/java/org/apache/polaris/core/persistence/LocalPolarisMetaStoreManagerFactory.java @@ -133,7 +133,7 @@ public Map purgeRealms(Iterable realms) { PolarisMetaStoreManager metaStoreManager = getOrCreateMetaStoreManager(() -> realm); TransactionalPersistence session = getOrCreateSessionSupplier(() -> realm).get(); - PolarisCallContext callContext = new PolarisCallContext(session, diagServices); + PolarisCallContext callContext = new PolarisCallContext(() -> realm, session, diagServices); BaseResult result = metaStoreManager.purge(callContext); results.put(realm, result); diff --git a/polaris-core/src/test/java/org/apache/polaris/core/persistence/PolarisTreeMapAtomicOperationMetaStoreManagerTest.java b/polaris-core/src/test/java/org/apache/polaris/core/persistence/PolarisTreeMapAtomicOperationMetaStoreManagerTest.java index d3fd3e2843..81b24d318a 100644 --- a/polaris-core/src/test/java/org/apache/polaris/core/persistence/PolarisTreeMapAtomicOperationMetaStoreManagerTest.java +++ b/polaris-core/src/test/java/org/apache/polaris/core/persistence/PolarisTreeMapAtomicOperationMetaStoreManagerTest.java @@ -25,6 +25,7 @@ import org.apache.polaris.core.PolarisDefaultDiagServiceImpl; import org.apache.polaris.core.PolarisDiagnostics; import org.apache.polaris.core.config.PolarisConfigurationStore; +import org.apache.polaris.core.context.RealmContext; import org.apache.polaris.core.persistence.transactional.TreeMapMetaStore; import org.apache.polaris.core.persistence.transactional.TreeMapTransactionalPersistenceImpl; import org.mockito.Mockito; @@ -37,6 +38,7 @@ public PolarisTestMetaStoreManager createPolarisTestMetaStoreManager() { TreeMapMetaStore store = new TreeMapMetaStore(diagServices); PolarisCallContext callCtx = new PolarisCallContext( + Mockito.mock(RealmContext.class), new TreeMapTransactionalPersistenceImpl(store, Mockito.mock(), RANDOM_SECRETS), diagServices, new PolarisConfigurationStore() {}, diff --git a/polaris-core/src/test/java/org/apache/polaris/core/persistence/PolarisTreeMapMetaStoreManagerTest.java b/polaris-core/src/test/java/org/apache/polaris/core/persistence/PolarisTreeMapMetaStoreManagerTest.java index baca459f0c..59b4ebd1f6 100644 --- a/polaris-core/src/test/java/org/apache/polaris/core/persistence/PolarisTreeMapMetaStoreManagerTest.java +++ b/polaris-core/src/test/java/org/apache/polaris/core/persistence/PolarisTreeMapMetaStoreManagerTest.java @@ -25,6 +25,7 @@ import org.apache.polaris.core.PolarisDefaultDiagServiceImpl; import org.apache.polaris.core.PolarisDiagnostics; import org.apache.polaris.core.config.PolarisConfigurationStore; +import org.apache.polaris.core.context.RealmContext; import org.apache.polaris.core.persistence.transactional.TransactionalMetaStoreManagerImpl; import org.apache.polaris.core.persistence.transactional.TreeMapMetaStore; import org.apache.polaris.core.persistence.transactional.TreeMapTransactionalPersistenceImpl; @@ -37,6 +38,7 @@ public PolarisTestMetaStoreManager createPolarisTestMetaStoreManager() { TreeMapMetaStore store = new TreeMapMetaStore(diagServices); PolarisCallContext callCtx = new PolarisCallContext( + Mockito.mock(RealmContext.class), new TreeMapTransactionalPersistenceImpl(store, Mockito.mock(), RANDOM_SECRETS), diagServices, new PolarisConfigurationStore() {}, diff --git a/polaris-core/src/test/java/org/apache/polaris/core/persistence/ResolverTest.java b/polaris-core/src/test/java/org/apache/polaris/core/persistence/ResolverTest.java index d4c75240d8..a388e100da 100644 --- a/polaris-core/src/test/java/org/apache/polaris/core/persistence/ResolverTest.java +++ b/polaris-core/src/test/java/org/apache/polaris/core/persistence/ResolverTest.java @@ -40,7 +40,7 @@ protected PolarisCallContext callCtx() { TreeMapMetaStore store = new TreeMapMetaStore(diagServices); TreeMapTransactionalPersistenceImpl metaStore = new TreeMapTransactionalPersistenceImpl(store, Mockito.mock(), RANDOM_SECRETS); - callCtx = new PolarisCallContext(metaStore, diagServices); + callCtx = new PolarisCallContext(() -> "realm", metaStore, diagServices); } return callCtx; } diff --git a/polaris-core/src/test/java/org/apache/polaris/core/persistence/cache/InMemoryEntityCacheTest.java b/polaris-core/src/test/java/org/apache/polaris/core/persistence/cache/InMemoryEntityCacheTest.java index 72b75ad05b..3f03e633a7 100644 --- a/polaris-core/src/test/java/org/apache/polaris/core/persistence/cache/InMemoryEntityCacheTest.java +++ b/polaris-core/src/test/java/org/apache/polaris/core/persistence/cache/InMemoryEntityCacheTest.java @@ -91,7 +91,7 @@ public InMemoryEntityCacheTest() { diagServices = new PolarisDefaultDiagServiceImpl(); store = new TreeMapMetaStore(diagServices); metaStore = new TreeMapTransactionalPersistenceImpl(store, Mockito.mock(), RANDOM_SECRETS); - callCtx = new PolarisCallContext(metaStore, diagServices); + callCtx = new PolarisCallContext(() -> "realm", metaStore, diagServices); metaStoreManager = new TransactionalMetaStoreManagerImpl(); // bootstrap the mata store with our test schema diff --git a/polaris-core/src/test/java/org/apache/polaris/core/storage/InMemoryStorageIntegrationTest.java b/polaris-core/src/test/java/org/apache/polaris/core/storage/InMemoryStorageIntegrationTest.java index 8d46171b66..a6567d11a6 100644 --- a/polaris-core/src/test/java/org/apache/polaris/core/storage/InMemoryStorageIntegrationTest.java +++ b/polaris-core/src/test/java/org/apache/polaris/core/storage/InMemoryStorageIntegrationTest.java @@ -96,6 +96,7 @@ public void testValidateAccessToLocationsWithWildcard() { Map config = Map.of("ALLOW_WILDCARD_LOCATION", true); PolarisCallContext polarisCallContext = new PolarisCallContext( + () -> "realm", Mockito.mock(), new PolarisDefaultDiagServiceImpl(), new PolarisConfigurationStore() { @@ -106,7 +107,7 @@ public void testValidateAccessToLocationsWithWildcard() { } }, Clock.systemUTC()); - CallContext.setCurrentContext(CallContext.of(() -> "realm", polarisCallContext)); + CallContext.setCurrentContext(polarisCallContext); Map> result = storage.validateAccessToLocations( new FileStorageConfigurationInfo(List.of("file://", "*")), diff --git a/polaris-core/src/test/java/org/apache/polaris/core/storage/cache/StorageCredentialCacheTest.java b/polaris-core/src/test/java/org/apache/polaris/core/storage/cache/StorageCredentialCacheTest.java index 8856ddfea6..0978a069db 100644 --- a/polaris-core/src/test/java/org/apache/polaris/core/storage/cache/StorageCredentialCacheTest.java +++ b/polaris-core/src/test/java/org/apache/polaris/core/storage/cache/StorageCredentialCacheTest.java @@ -70,7 +70,7 @@ public StorageCredentialCacheTest() { // to interact with the metastore TransactionalPersistence metaStore = new TreeMapTransactionalPersistenceImpl(store, Mockito.mock(), RANDOM_SECRETS); - callCtx = new PolarisCallContext(metaStore, diagServices); + callCtx = new PolarisCallContext(() -> "realm", metaStore, diagServices); metaStoreManager = Mockito.mock(PolarisMetaStoreManager.class); storageCredentialCache = new StorageCredentialCache(); } diff --git a/polaris-core/src/testFixtures/java/org/apache/polaris/core/persistence/BasePolarisMetaStoreManagerTest.java b/polaris-core/src/testFixtures/java/org/apache/polaris/core/persistence/BasePolarisMetaStoreManagerTest.java index 5abda44606..646327a2d1 100644 --- a/polaris-core/src/testFixtures/java/org/apache/polaris/core/persistence/BasePolarisMetaStoreManagerTest.java +++ b/polaris-core/src/testFixtures/java/org/apache/polaris/core/persistence/BasePolarisMetaStoreManagerTest.java @@ -103,12 +103,8 @@ protected void testBrowse() { @Test protected void testCreateEntities() { + setCallContext(); PolarisMetaStoreManager metaStoreManager = polarisTestMetaStoreManager.polarisMetaStoreManager; - CallContext callCtx = - CallContext.of(() -> "testRealm", polarisTestMetaStoreManager.polarisCallContext); - if (CallContext.getCurrentContext() == null) { - CallContext.setCurrentContext(callCtx); - } TaskEntity task1 = createTask("task1", 100L); TaskEntity task2 = createTask("task2", 101L); List createdEntities = @@ -152,14 +148,24 @@ protected void testCreateEntities() { task2.getSubTypeCode())); } + private void setCallContext() { + if (CallContext.getCurrentContext() == null) { + var oldCtx = polarisTestMetaStoreManager.polarisCallContext; + var ctx = + new PolarisCallContext( + () -> "testRealm", + oldCtx.getMetaStore(), + oldCtx.getDiagServices(), + oldCtx.getConfigurationStore(), + oldCtx.getClock()); + CallContext.setCurrentContext(ctx); + } + } + @Test protected void testCreateEntitiesAlreadyExisting() { + setCallContext(); PolarisMetaStoreManager metaStoreManager = polarisTestMetaStoreManager.polarisMetaStoreManager; - CallContext callCtx = - CallContext.of(() -> "testRealm", polarisTestMetaStoreManager.polarisCallContext); - if (CallContext.getCurrentContext() == null) { - CallContext.setCurrentContext(callCtx); - } TaskEntity task1 = createTask("task1", 100L); TaskEntity task2 = createTask("task2", 101L); List createdEntities = @@ -193,12 +199,8 @@ protected void testCreateEntitiesAlreadyExisting() { @Test protected void testCreateEntitiesWithConflict() { + setCallContext(); PolarisMetaStoreManager metaStoreManager = polarisTestMetaStoreManager.polarisMetaStoreManager; - CallContext callCtx = - CallContext.of(() -> "testRealm", polarisTestMetaStoreManager.polarisCallContext); - if (CallContext.getCurrentContext() == null) { - CallContext.setCurrentContext(callCtx); - } TaskEntity task1 = createTask("task1", 100L); TaskEntity task2 = createTask("task2", 101L); TaskEntity task3 = createTask("task3", 103L); diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/ManagementServiceTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/ManagementServiceTest.java index 181edd62e3..7ca77027c0 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/ManagementServiceTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/ManagementServiceTest.java @@ -68,6 +68,7 @@ public void setup() { .build(); PolarisCallContext polarisCallContext = new PolarisCallContext( + fakeServices.realmContext(), fakeServices .metaStoreManagerFactory() .getOrCreateSessionSupplier(fakeServices.realmContext()) @@ -75,7 +76,7 @@ public void setup() { fakeServices.polarisDiagnostics(), fakeServices.configurationStore(), Mockito.mock(Clock.class)); - CallContext.setCurrentContext(CallContext.of(fakeServices.realmContext(), polarisCallContext)); + CallContext.setCurrentContext(polarisCallContext); services = TestServices.builder() .config(Map.of("SUPPORTED_CATALOG_STORAGE_TYPES", List.of("S3", "GCS", "AZURE"))) @@ -185,6 +186,7 @@ private PolarisCallContext setupCallContext(PolarisMetaStoreManager metaStoreMan MetaStoreManagerFactory metaStoreManagerFactory = services.metaStoreManagerFactory(); RealmContext realmContext = services.realmContext(); return new PolarisCallContext( + realmContext, metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), services.polarisDiagnostics()); } @@ -193,7 +195,7 @@ private PolarisAdminService setupPolarisAdminService( PolarisMetaStoreManager metaStoreManager, PolarisCallContext callContext) { RealmContext realmContext = services.realmContext(); return new PolarisAdminService( - CallContext.of(realmContext, callContext), + callContext, services.entityManagerFactory().getOrCreateEntityManager(realmContext), metaStoreManager, new UnsafeInMemorySecretsManager(), diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java index 83c00530ba..62ef4a0d63 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/admin/PolarisAuthzTestBase.java @@ -237,13 +237,14 @@ public void before(TestInfo testInfo) { polarisContext = new PolarisCallContext( + realmContext, managerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, clock); + callContext = polarisContext; this.entityManager = realmEntityManagerFactory.getOrCreateEntityManager(realmContext); - callContext = CallContext.of(realmContext, polarisContext); CallContext.setCurrentContext(callContext); PrincipalEntity rootEntity = diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/auth/JWTRSAKeyPairTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/auth/JWTRSAKeyPairTest.java index 986282c818..efc0a708c0 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/auth/JWTRSAKeyPairTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/auth/JWTRSAKeyPairTest.java @@ -30,6 +30,7 @@ import java.security.interfaces.RSAPublicKey; import org.apache.polaris.core.PolarisCallContext; import org.apache.polaris.core.config.PolarisConfigurationStore; +import org.apache.polaris.core.context.RealmContext; import org.apache.polaris.core.entity.PolarisBaseEntity; import org.apache.polaris.core.entity.PolarisEntitySubType; import org.apache.polaris.core.entity.PolarisEntityType; @@ -61,7 +62,8 @@ public void testSuccessfulTokenGeneration() throws Exception { final String scope = "PRINCIPAL_ROLE:TEST"; PolarisCallContext polarisCallContext = - new PolarisCallContext(null, null, configurationStore, null); + new PolarisCallContext( + Mockito.mock(RealmContext.class), null, null, configurationStore, null); PolarisMetaStoreManager metastoreManager = Mockito.mock(PolarisMetaStoreManager.class); String mainSecret = "client-secret"; PolarisPrincipalSecrets principalSecrets = diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/auth/JWTSymmetricKeyGeneratorTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/auth/JWTSymmetricKeyGeneratorTest.java index b7c3ceef45..42a81b813b 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/auth/JWTSymmetricKeyGeneratorTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/auth/JWTSymmetricKeyGeneratorTest.java @@ -45,7 +45,7 @@ public class JWTSymmetricKeyGeneratorTest { /** Sanity test to verify that we can generate a token */ @Test public void testJWTSymmetricKeyGenerator() { - PolarisCallContext polarisCallContext = new PolarisCallContext(null, null, null, null); + PolarisCallContext polarisCallContext = Mockito.mock(PolarisCallContext.class); PolarisMetaStoreManager metastoreManager = Mockito.mock(PolarisMetaStoreManager.class); String mainSecret = "test_secret"; String clientId = "test_client_id"; diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogTest.java index eb01ba6834..d1aedc1f0e 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogTest.java @@ -250,17 +250,17 @@ public void before(TestInfo testInfo) { userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext); polarisContext = new PolarisCallContext( + realmContext, managerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, Clock.systemDefaultZone()); + callContext = polarisContext; entityManager = new PolarisEntityManager( metaStoreManager, new StorageCredentialCache(), createEntityCache(metaStoreManager)); - callContext = CallContext.of(realmContext, polarisContext); - PrincipalEntity rootEntity = new PrincipalEntity( PolarisEntity.of( diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogViewTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogViewTest.java index 8b09d243a7..0f06a02250 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogViewTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/IcebergCatalogViewTest.java @@ -170,6 +170,7 @@ public void before(TestInfo testInfo) { userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext); polarisContext = new PolarisCallContext( + realmContext, managerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, @@ -181,8 +182,7 @@ public void before(TestInfo testInfo) { new StorageCredentialCache(), new InMemoryEntityCache(metaStoreManager)); - CallContext callContext = CallContext.of(realmContext, polarisContext); - CallContext.setCurrentContext(callContext); + CallContext.setCurrentContext(polarisContext); PrincipalEntity rootEntity = new PrincipalEntity( @@ -206,7 +206,7 @@ public void before(TestInfo testInfo) { PolarisAdminService adminService = new PolarisAdminService( - callContext, + polarisContext, entityManager, metaStoreManager, userSecretsManager, @@ -232,7 +232,7 @@ public void before(TestInfo testInfo) { PolarisPassthroughResolutionView passthroughView = new PolarisPassthroughResolutionView( - callContext, entityManager, securityContext, CATALOG_NAME); + polarisContext, entityManager, securityContext, CATALOG_NAME); FileIOFactory fileIOFactory = new DefaultFileIOFactory( new RealmEntityManagerFactory(managerFactory), managerFactory, configurationStore); @@ -242,7 +242,7 @@ public void before(TestInfo testInfo) { new IcebergCatalog( entityManager, metaStoreManager, - callContext, + polarisContext, passthroughView, securityContext, Mockito.mock(), diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolarisGenericTableCatalogTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolarisGenericTableCatalogTest.java index 3082eda6db..2aba1773b9 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolarisGenericTableCatalogTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolarisGenericTableCatalogTest.java @@ -51,7 +51,6 @@ import org.apache.polaris.core.auth.PolarisAuthorizerImpl; import org.apache.polaris.core.config.FeatureConfiguration; import org.apache.polaris.core.config.PolarisConfigurationStore; -import org.apache.polaris.core.context.CallContext; import org.apache.polaris.core.context.RealmContext; import org.apache.polaris.core.entity.CatalogEntity; import org.apache.polaris.core.entity.PolarisEntity; @@ -132,7 +131,6 @@ public Map getConfigOverrides() { private PolarisGenericTableCatalog genericTableCatalog; private IcebergCatalog icebergCatalog; - private CallContext callContext; private AwsStorageConfigInfo storageConfigModel; private String realmName; private PolarisMetaStoreManager metaStoreManager; @@ -171,6 +169,7 @@ public void before(TestInfo testInfo) { userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext); polarisContext = new PolarisCallContext( + realmContext, managerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, @@ -181,8 +180,6 @@ public void before(TestInfo testInfo) { new StorageCredentialCache(), new InMemoryEntityCache(metaStoreManager)); - callContext = CallContext.of(realmContext, polarisContext); - PrincipalEntity rootEntity = new PrincipalEntity( PolarisEntity.of( @@ -205,7 +202,7 @@ public void before(TestInfo testInfo) { adminService = new PolarisAdminService( - callContext, + polarisContext, entityManager, metaStoreManager, userSecretsManager, @@ -242,7 +239,7 @@ public void before(TestInfo testInfo) { PolarisPassthroughResolutionView passthroughView = new PolarisPassthroughResolutionView( - callContext, entityManager, securityContext, CATALOG_NAME); + polarisContext, entityManager, securityContext, CATALOG_NAME); TaskExecutor taskExecutor = Mockito.mock(); RealmEntityManagerFactory realmEntityManagerFactory = new RealmEntityManagerFactory(createMockMetaStoreManagerFactory()); @@ -267,13 +264,13 @@ public void before(TestInfo testInfo) { .thenReturn((PolarisStorageIntegration) storageIntegration); this.genericTableCatalog = - new PolarisGenericTableCatalog(metaStoreManager, callContext, passthroughView); + new PolarisGenericTableCatalog(metaStoreManager, polarisContext, passthroughView); this.genericTableCatalog.initialize(CATALOG_NAME, Map.of()); this.icebergCatalog = new IcebergCatalog( entityManager, metaStoreManager, - callContext, + polarisContext, passthroughView, securityContext, taskExecutor, diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolicyCatalogTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolicyCatalogTest.java index 6e5cebb0dd..57cee9c523 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolicyCatalogTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/PolicyCatalogTest.java @@ -195,18 +195,18 @@ public void before(TestInfo testInfo) { userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext); polarisContext = new PolarisCallContext( + realmContext, managerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, Clock.systemDefaultZone()); + callContext = polarisContext; entityManager = new PolarisEntityManager( metaStoreManager, new StorageCredentialCache(), new InMemoryEntityCache(metaStoreManager)); - callContext = CallContext.of(realmContext, polarisContext); - PrincipalEntity rootEntity = new PrincipalEntity( PolarisEntity.of( diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/config/DefaultConfigurationStoreTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/config/DefaultConfigurationStoreTest.java index e7ad9e6c2d..5ee7f65f9c 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/config/DefaultConfigurationStoreTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/config/DefaultConfigurationStoreTest.java @@ -91,6 +91,7 @@ public void before(TestInfo testInfo) { realmContext = () -> realmName; polarisContext = new PolarisCallContext( + realmContext, managerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/entity/CatalogEntityTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/entity/CatalogEntityTest.java index 8d8caabfd6..04132a46c1 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/entity/CatalogEntityTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/entity/CatalogEntityTest.java @@ -45,10 +45,10 @@ public static void setup() { MetaStoreManagerFactory metaStoreManagerFactory = new InMemoryPolarisMetaStoreManagerFactory(); PolarisCallContext polarisCallContext = new PolarisCallContext( + () -> "realm", metaStoreManagerFactory.getOrCreateSessionSupplier(() -> "realm").get(), new PolarisDefaultDiagServiceImpl()); - CallContext callContext = CallContext.of(() -> "realm", polarisCallContext); - CallContext.setCurrentContext(callContext); + CallContext.setCurrentContext(polarisCallContext); } @Test diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/BatchFileCleanupTaskHandlerTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/BatchFileCleanupTaskHandlerTest.java index 9259917841..f01ce530fd 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/BatchFileCleanupTaskHandlerTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/BatchFileCleanupTaskHandlerTest.java @@ -90,11 +90,11 @@ private void addTaskLocation(TaskEntity task) { @Test public void testMetadataFileCleanup() throws IOException { - PolarisCallContext polarisCallContext = + CallContext callCtx = new PolarisCallContext( + realmContext, metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), new PolarisDefaultDiagServiceImpl()); - CallContext callCtx = CallContext.of(realmContext, polarisCallContext); FileIO fileIO = new InMemoryFileIO() { @Override @@ -203,11 +203,11 @@ public void close() { @Test public void testMetadataFileCleanupIfFileNotExist() throws IOException { - PolarisCallContext polarisCallContext = + CallContext callCtx = new PolarisCallContext( + realmContext, metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), new PolarisDefaultDiagServiceImpl()); - CallContext callCtx = CallContext.of(realmContext, polarisCallContext); CallContext.setCurrentContext(callCtx); FileIO fileIO = new InMemoryFileIO(); TableIdentifier tableIdentifier = TableIdentifier.of(Namespace.of("db1", "schema1"), "table1"); @@ -248,11 +248,11 @@ public void testMetadataFileCleanupIfFileNotExist() throws IOException { @Test public void testCleanupWithRetries() throws IOException { - PolarisCallContext polarisCallContext = + CallContext callCtx = new PolarisCallContext( + realmContext, metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), new PolarisDefaultDiagServiceImpl()); - CallContext callCtx = CallContext.of(realmContext, polarisCallContext); CallContext.setCurrentContext(callCtx); Map retryCounter = new HashMap<>(); FileIO fileIO = diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/ManifestFileCleanupTaskHandlerTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/ManifestFileCleanupTaskHandlerTest.java index 58fa14d7ec..412b0cc216 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/ManifestFileCleanupTaskHandlerTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/ManifestFileCleanupTaskHandlerTest.java @@ -89,11 +89,11 @@ private void addTaskLocation(TaskEntity task) { @Test public void testCleanupFileNotExists() throws IOException { - PolarisCallContext polarisCallContext = + CallContext callCtx = new PolarisCallContext( + realmContext, metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), new PolarisDefaultDiagServiceImpl()); - CallContext callCtx = CallContext.of(realmContext, polarisCallContext); FileIO fileIO = new InMemoryFileIO(); TableIdentifier tableIdentifier = TableIdentifier.of(Namespace.of("db1", "schema1"), "table1"); @@ -119,11 +119,11 @@ public void testCleanupFileNotExists() throws IOException { @Test public void testCleanupFileManifestExistsDataFilesDontExist() throws IOException { - PolarisCallContext polarisCallContext = + CallContext callCtx = new PolarisCallContext( + realmContext, metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), new PolarisDefaultDiagServiceImpl()); - CallContext callCtx = CallContext.of(realmContext, polarisCallContext); CallContext.setCurrentContext(callCtx); FileIO fileIO = new InMemoryFileIO(); TableIdentifier tableIdentifier = TableIdentifier.of(Namespace.of("db1", "schema1"), "table1"); @@ -148,11 +148,11 @@ public void testCleanupFileManifestExistsDataFilesDontExist() throws IOException @Test public void testCleanupFiles() throws IOException { - PolarisCallContext polarisCallContext = + CallContext callCtx = new PolarisCallContext( + realmContext, metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), new PolarisDefaultDiagServiceImpl()); - CallContext callCtx = CallContext.of(realmContext, polarisCallContext); CallContext.setCurrentContext(callCtx); FileIO fileIO = new InMemoryFileIO() { @@ -194,11 +194,11 @@ public void close() { @Test public void testCleanupFilesWithRetries() throws IOException { - PolarisCallContext polarisCallContext = + CallContext callCtx = new PolarisCallContext( + realmContext, metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), new PolarisDefaultDiagServiceImpl()); - CallContext callCtx = CallContext.of(realmContext, polarisCallContext); CallContext.setCurrentContext(callCtx); Map retryCounter = new HashMap<>(); FileIO fileIO = diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/TableCleanupTaskHandlerTest.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/TableCleanupTaskHandlerTest.java index d4147252f3..294d20c99d 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/TableCleanupTaskHandlerTest.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/task/TableCleanupTaskHandlerTest.java @@ -100,14 +100,13 @@ public FileIO loadFileIO( @BeforeEach void setup() { QuarkusMock.installMockForType(realmContext, RealmContext.class); - PolarisCallContext polarisCallContext = + callContext = new PolarisCallContext( + realmContext, metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(), diagServices, configurationStore, Clock.systemDefaultZone()); - - callContext = CallContext.of(realmContext, polarisCallContext); } private void addTaskLocation(TaskEntity task) { diff --git a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/test/PolarisIntegrationTestFixture.java b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/test/PolarisIntegrationTestFixture.java index 2dc0400bcb..e9268befb7 100644 --- a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/test/PolarisIntegrationTestFixture.java +++ b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/test/PolarisIntegrationTestFixture.java @@ -114,7 +114,11 @@ private PolarisPrincipalSecrets fetchAdminSecrets() { helper.metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(); PolarisCallContext polarisContext = new PolarisCallContext( - metaStoreSession, helper.diagServices, helper.configurationStore, helper.clock); + realmContext, + metaStoreSession, + helper.diagServices, + helper.configurationStore, + helper.clock); try { PolarisMetaStoreManager metaStoreManager = helper.metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext); diff --git a/service/common/src/test/java/org/apache/polaris/service/auth/DefaultAuthenticatorTest.java b/service/common/src/test/java/org/apache/polaris/service/auth/DefaultAuthenticatorTest.java index 50008f8d50..241fbf1775 100644 --- a/service/common/src/test/java/org/apache/polaris/service/auth/DefaultAuthenticatorTest.java +++ b/service/common/src/test/java/org/apache/polaris/service/auth/DefaultAuthenticatorTest.java @@ -20,12 +20,15 @@ import static org.mockito.Mockito.when; +import java.time.Clock; import org.apache.iceberg.exceptions.NotAuthorizedException; import org.apache.iceberg.exceptions.ServiceFailureException; import org.apache.polaris.core.PolarisCallContext; -import org.apache.polaris.core.context.CallContext; +import org.apache.polaris.core.PolarisDiagnostics; +import org.apache.polaris.core.config.PolarisConfigurationStore; import org.apache.polaris.core.context.RealmContext; import org.apache.polaris.core.entity.PolarisEntityType; +import org.apache.polaris.core.persistence.BasePersistence; import org.apache.polaris.core.persistence.MetaStoreManagerFactory; import org.apache.polaris.core.persistence.PolarisMetaStoreManager; import org.apache.polaris.core.persistence.dao.entity.BaseResult; @@ -44,15 +47,20 @@ public class DefaultAuthenticatorTest { @BeforeEach public void setUp() { RealmContext realmContext = () -> "test"; - polarisCallContext = Mockito.mock(PolarisCallContext.class); - CallContext callContext = CallContext.of(realmContext, polarisCallContext); + polarisCallContext = + new PolarisCallContext( + realmContext, + Mockito.mock(BasePersistence.class), + Mockito.mock(PolarisDiagnostics.class), + Mockito.mock(PolarisConfigurationStore.class), + Clock.systemUTC()); metaStoreManager = Mockito.mock(PolarisMetaStoreManager.class); MetaStoreManagerFactory metaStoreManagerFactory = Mockito.mock(MetaStoreManagerFactory.class); when(metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext)) .thenReturn(metaStoreManager); authenticator = new DefaultAuthenticator(); authenticator.metaStoreManagerFactory = metaStoreManagerFactory; - authenticator.callContext = callContext; + authenticator.callContext = polarisCallContext; } @Test diff --git a/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java b/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java index 28a181ef8b..0e0e2d5688 100644 --- a/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java +++ b/service/common/src/test/java/org/apache/polaris/service/catalog/io/FileIOFactoryTest.java @@ -136,24 +136,12 @@ FileIO loadFileIOInternal( .build(); callContext = - new CallContext() { - @Override - public RealmContext getRealmContext() { - return testServices.realmContext(); - } - - @Override - public PolarisCallContext getPolarisCallContext() { - return new PolarisCallContext( - testServices - .metaStoreManagerFactory() - .getOrCreateSessionSupplier(realmContext) - .get(), - testServices.polarisDiagnostics(), - testServices.configurationStore(), - Mockito.mock(Clock.class)); - } - }; + new PolarisCallContext( + testServices.realmContext(), + testServices.metaStoreManagerFactory().getOrCreateSessionSupplier(realmContext).get(), + testServices.polarisDiagnostics(), + testServices.configurationStore(), + Mockito.mock(Clock.class)); } @AfterEach diff --git a/service/common/src/test/java/org/apache/polaris/service/task/TaskExecutorImplTest.java b/service/common/src/test/java/org/apache/polaris/service/task/TaskExecutorImplTest.java index 1cc88fc100..0b0b193739 100644 --- a/service/common/src/test/java/org/apache/polaris/service/task/TaskExecutorImplTest.java +++ b/service/common/src/test/java/org/apache/polaris/service/task/TaskExecutorImplTest.java @@ -49,18 +49,17 @@ void testEventsAreEmitted() { metaStoreManagerFactory.getOrCreateMetaStoreManager(realmContext); BasePersistence bp = metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(); - PolarisCallContext polarisCallCtx = - new PolarisCallContext(bp, testServices.polarisDiagnostics()); - CallContext callContext = CallContext.of(realmContext, polarisCallCtx); + PolarisCallContext callContext = + new PolarisCallContext(realmContext, bp, testServices.polarisDiagnostics()); // This task doesn't have a type so it won't be handle-able by a real handler. We register a // test TaskHandler below that can handle any task. TaskEntity taskEntity = new TaskEntity.Builder() .setName("mytask") - .setId(metaStoreManager.generateNewEntityId(polarisCallCtx).getId()) + .setId(metaStoreManager.generateNewEntityId(callContext).getId()) .build(); - metaStoreManager.createEntityIfNotExists(polarisCallCtx, null, taskEntity); + metaStoreManager.createEntityIfNotExists(callContext, null, taskEntity); int attempt = 1; diff --git a/service/common/src/testFixtures/java/org/apache/polaris/service/TestServices.java b/service/common/src/testFixtures/java/org/apache/polaris/service/TestServices.java index 72725c39e5..6f0736253d 100644 --- a/service/common/src/testFixtures/java/org/apache/polaris/service/TestServices.java +++ b/service/common/src/testFixtures/java/org/apache/polaris/service/TestServices.java @@ -163,21 +163,13 @@ public TestServices build() { BasePersistence metaStoreSession = metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get(); CallContext callContext = - new CallContext() { - @Override - public RealmContext getRealmContext() { - return realmContext; - } + new PolarisCallContext( + realmContext, + metaStoreSession, + polarisDiagnostics, + configurationStore, + Mockito.mock(Clock.class)); - @Override - public PolarisCallContext getPolarisCallContext() { - return new PolarisCallContext( - metaStoreSession, - polarisDiagnostics, - configurationStore, - Mockito.mock(Clock.class)); - } - }; PolarisEntityManager entityManager = realmEntityManagerFactory.getOrCreateEntityManager(realmContext); PolarisMetaStoreManager metaStoreManager =