Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -25,15 +25,14 @@
import org.apache.polaris.core.persistence.cache.EntityCache;
import org.apache.polaris.core.persistence.dao.entity.BaseResult;
import org.apache.polaris.core.persistence.dao.entity.PrincipalSecretsResult;
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
import org.apache.polaris.core.storage.cache.StorageCredentialCache;

/** Configuration interface for configuring the {@link PolarisMetaStoreManager}. */
public interface MetaStoreManagerFactory {

PolarisMetaStoreManager getOrCreateMetaStoreManager(RealmContext realmContext);

Supplier<TransactionalPersistence> getOrCreateSessionSupplier(RealmContext realmContext);
Supplier<? extends BasePersistence> getOrCreateSessionSupplier(RealmContext realmContext);

StorageCredentialCache getOrCreateStorageCredentialCache(RealmContext realmContext);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,10 +41,10 @@
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.persistence.BasePersistence;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisEntityManager;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
import org.apache.polaris.core.storage.cache.StorageCredentialCache;
import org.apache.polaris.service.auth.ActiveRolesProvider;
import org.apache.polaris.service.auth.Authenticator;
Expand Down Expand Up @@ -113,7 +113,7 @@ public PolarisCallContext polarisCallContext(
PolarisConfigurationStore configurationStore,
MetaStoreManagerFactory metaStoreManagerFactory,
Clock clock) {
TransactionalPersistence metaStoreSession =
BasePersistence metaStoreSession =
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get();
return new PolarisCallContext(metaStoreSession, diagServices, configurationStore, clock);
}
Expand Down Expand Up @@ -220,7 +220,7 @@ public PolarisMetaStoreManager polarisMetaStoreManager(

@Produces
@RequestScoped
public TransactionalPersistence polarisMetaStoreSession(
public BasePersistence polarisMetaStoreSession(
RealmContext realmContext, MetaStoreManagerFactory metaStoreManagerFactory) {
return metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@
import org.apache.polaris.core.entity.PolarisTaskConstants;
import org.apache.polaris.core.entity.TableLikeEntity;
import org.apache.polaris.core.entity.TaskEntity;
import org.apache.polaris.core.persistence.BasePersistence;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisResolvedPathWrapper;
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
import org.apache.polaris.core.storage.PolarisStorageActions;
import org.apache.polaris.service.catalog.io.FileIOFactory;
import org.apache.polaris.service.task.ManifestFileCleanupTaskHandler;
Expand Down Expand Up @@ -176,7 +176,7 @@ public void testTableCleanup() throws IOException {

@Test
public void testTableCleanupHandlesAlreadyDeletedMetadata() throws IOException {
TransactionalPersistence metaStoreSession =
BasePersistence metaStoreSession =
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get();
FileIO fileIO =
new InMemoryFileIO() {
Expand Down Expand Up @@ -230,7 +230,7 @@ public void close() {

@Test
public void testTableCleanupDuplicatesTasksIfFileStillExists() throws IOException {
TransactionalPersistence metaStoreSession =
BasePersistence metaStoreSession =
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get();
FileIO fileIO =
new InMemoryFileIO() {
Expand Down Expand Up @@ -346,7 +346,7 @@ public void close() {

@Test
public void testTableCleanupMultipleSnapshots() throws IOException {
TransactionalPersistence metaStoreSession =
BasePersistence metaStoreSession =
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get();
FileIO fileIO = new InMemoryFileIO();
TableIdentifier tableIdentifier = TableIdentifier.of(Namespace.of("db1", "schema1"), "table1");
Expand Down Expand Up @@ -491,7 +491,7 @@ public void testTableCleanupMultipleSnapshots() throws IOException {

@Test
public void testTableCleanupMultipleMetadata() throws IOException {
TransactionalPersistence metaStoreSession =
BasePersistence metaStoreSession =
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get();
FileIO fileIO = new InMemoryFileIO();
TableIdentifier tableIdentifier = TableIdentifier.of(Namespace.of("db1", "schema1"), "table1");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -42,10 +42,10 @@
import org.apache.polaris.core.entity.PolarisEntitySubType;
import org.apache.polaris.core.entity.PolarisEntityType;
import org.apache.polaris.core.entity.PolarisPrincipalSecrets;
import org.apache.polaris.core.persistence.BasePersistence;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet;
import org.apache.polaris.core.persistence.dao.entity.EntityResult;
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
import org.apache.polaris.service.persistence.InMemoryPolarisMetaStoreManagerFactory;
import org.apache.polaris.service.quarkus.auth.TokenUtils;
import org.junit.jupiter.api.TestInfo;
Expand Down Expand Up @@ -107,7 +107,7 @@ private PolarisPrincipalSecrets fetchAdminSecrets() {
helper.realmContextResolver.resolveRealmContext(
baseUri.toString(), "GET", "/", Map.of(REALM_PROPERTY_KEY, realm));

TransactionalPersistence metaStoreSession =
BasePersistence metaStoreSession =
helper.metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get();
PolarisCallContext polarisContext =
new PolarisCallContext(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -62,12 +62,12 @@
import org.apache.polaris.core.context.CallContext;
import org.apache.polaris.core.context.RealmContext;
import org.apache.polaris.core.entity.PolarisEntity;
import org.apache.polaris.core.persistence.BasePersistence;
import org.apache.polaris.core.persistence.PolarisEntityManager;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
import org.apache.polaris.core.persistence.ResolvedPolarisEntity;
import org.apache.polaris.core.persistence.resolver.Resolver;
import org.apache.polaris.core.persistence.resolver.ResolverStatus;
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
import org.apache.polaris.service.catalog.api.IcebergRestCatalogApiService;
import org.apache.polaris.service.catalog.api.IcebergRestConfigurationApiService;
import org.apache.polaris.service.context.CallContextCatalogFactory;
Expand Down Expand Up @@ -125,9 +125,6 @@ public class IcebergCatalogAdapter
private final CallContextCatalogFactory catalogFactory;
private final PolarisEntityManager entityManager;
private final PolarisMetaStoreManager metaStoreManager;
private final TransactionalPersistence session;
private final PolarisConfigurationStore configurationStore;
private final PolarisDiagnostics diagnostics;
private final PolarisAuthorizer polarisAuthorizer;
private final IcebergCatalogPrefixParser prefixParser;

Expand All @@ -138,7 +135,7 @@ public IcebergCatalogAdapter(
CallContextCatalogFactory catalogFactory,
PolarisEntityManager entityManager,
PolarisMetaStoreManager metaStoreManager,
TransactionalPersistence session,
BasePersistence session,
PolarisConfigurationStore configurationStore,
PolarisDiagnostics diagnostics,
PolarisAuthorizer polarisAuthorizer,
Expand All @@ -148,9 +145,6 @@ public IcebergCatalogAdapter(
this.catalogFactory = catalogFactory;
this.entityManager = entityManager;
this.metaStoreManager = metaStoreManager;
this.session = session;
this.configurationStore = configurationStore;
this.diagnostics = diagnostics;
this.polarisAuthorizer = polarisAuthorizer;
this.prefixParser = prefixParser;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@
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.persistence.BasePersistence;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -64,7 +64,7 @@ public CallContext resolveCallContext(
// pushed down for the metaStoreManagerFactory to inject Transactional-DB specific things
// (including the MetaStoreSession" into the PolarisCallContext. The non-transactional
// factories would then inject something else instead if needed.
TransactionalPersistence metaStoreSession =
BasePersistence metaStoreSession =
metaStoreManagerFactory.getOrCreateSessionSupplier(realmContext).get();
PolarisCallContext polarisContext =
new PolarisCallContext(metaStoreSession, diagnostics, configurationStore, clock);
Expand Down