Skip to content

Commit 6fd87b7

Browse files
committed
use CallContext in MetaStoreManagerFactory.createMetaStoreManager
1 parent 66c3fdc commit 6fd87b7

File tree

19 files changed

+42
-21
lines changed

19 files changed

+42
-21
lines changed

persistence/relational-jdbc/src/main/java/org/apache/polaris/persistence/relational/jdbc/JdbcMetaStoreManagerFactory.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import org.apache.polaris.core.config.PolarisConfigurationStore;
3636
import org.apache.polaris.core.config.RealmConfig;
3737
import org.apache.polaris.core.config.RealmConfigImpl;
38+
import org.apache.polaris.core.context.CallContext;
3839
import org.apache.polaris.core.context.RealmContext;
3940
import org.apache.polaris.core.entity.PrincipalEntity;
4041
import org.apache.polaris.core.persistence.AtomicOperationMetaStoreManager;
@@ -200,7 +201,11 @@ public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
200201
}
201202

202203
@Override
203-
public PolarisMetaStoreManager createMetaStoreManager(RealmContext realmContext) {
204+
public PolarisMetaStoreManager createMetaStoreManager(CallContext callContext) {
205+
return createMetaStoreManager(callContext.getRealmContext());
206+
}
207+
208+
private PolarisMetaStoreManager createMetaStoreManager(RealmContext realmContext) {
204209
RealmConfig realmConfig = new RealmConfigImpl(configurationStore, realmContext);
205210
return new AtomicOperationMetaStoreManager(
206211
clock,

polaris-core/src/main/java/org/apache/polaris/core/persistence/LocalPolarisMetaStoreManagerFactory.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
import org.apache.polaris.core.config.PolarisConfigurationStore;
3030
import org.apache.polaris.core.config.RealmConfig;
3131
import org.apache.polaris.core.config.RealmConfigImpl;
32+
import org.apache.polaris.core.context.CallContext;
3233
import org.apache.polaris.core.context.RealmContext;
3334
import org.apache.polaris.core.entity.PrincipalEntity;
3435
import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet;
@@ -149,7 +150,11 @@ public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
149150
}
150151

151152
@Override
152-
public PolarisMetaStoreManager createMetaStoreManager(RealmContext realmContext) {
153+
public PolarisMetaStoreManager createMetaStoreManager(CallContext callContext) {
154+
return createMetaStoreManager(callContext.getRealmContext());
155+
}
156+
157+
private PolarisMetaStoreManager createMetaStoreManager(RealmContext realmContext) {
153158
RealmConfig realmConfig = new RealmConfigImpl(configurationStore, realmContext);
154159
return createNewMetaStoreManager(clock, diagnostics, realmContext, realmConfig);
155160
}

polaris-core/src/main/java/org/apache/polaris/core/persistence/MetaStoreManagerFactory.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package org.apache.polaris.core.persistence;
2020

2121
import java.util.Map;
22+
import org.apache.polaris.core.context.CallContext;
2223
import org.apache.polaris.core.context.RealmContext;
2324
import org.apache.polaris.core.persistence.bootstrap.BootstrapOptions;
2425
import org.apache.polaris.core.persistence.bootstrap.RootCredentialsSet;
@@ -29,7 +30,7 @@
2930
/** Configuration interface for configuring the {@link PolarisMetaStoreManager}. */
3031
public interface MetaStoreManagerFactory {
3132

32-
PolarisMetaStoreManager createMetaStoreManager(RealmContext realmContext);
33+
PolarisMetaStoreManager createMetaStoreManager(CallContext callContext);
3334

3435
EntityCache getOrCreateEntityCache(RealmContext realmContext);
3536

runtime/service/src/main/java/org/apache/polaris/service/catalog/io/DefaultFileIOFactory.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
import org.apache.iceberg.catalog.TableIdentifier;
3232
import org.apache.iceberg.io.FileIO;
3333
import org.apache.polaris.core.context.CallContext;
34-
import org.apache.polaris.core.context.RealmContext;
3534
import org.apache.polaris.core.entity.PolarisEntity;
3635
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
3736
import org.apache.polaris.core.persistence.PolarisResolvedPathWrapper;
@@ -72,9 +71,8 @@ public FileIO loadFileIO(
7271
@Nonnull Set<String> tableLocations,
7372
@Nonnull Set<PolarisStorageActions> storageActions,
7473
@Nonnull PolarisResolvedPathWrapper resolvedEntityPath) {
75-
RealmContext realmContext = callContext.getRealmContext();
7674
PolarisCredentialVendor credentialVendor =
77-
metaStoreManagerFactory.createMetaStoreManager(realmContext);
75+
metaStoreManagerFactory.createMetaStoreManager(callContext);
7876

7977
// Get subcoped creds
8078
properties = new HashMap<>(properties);

runtime/service/src/main/java/org/apache/polaris/service/config/ServiceProducers.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,8 @@ public MetaStoreManagerFactory metaStoreManagerFactory(
196196
@Produces
197197
@RequestScoped
198198
public PolarisMetaStoreManager polarisMetaStoreManager(
199-
MetaStoreManagerFactory metaStoreManagerFactory, RealmContext realmContext) {
200-
return metaStoreManagerFactory.createMetaStoreManager(realmContext);
199+
MetaStoreManagerFactory metaStoreManagerFactory, CallContext callContext) {
200+
return metaStoreManagerFactory.createMetaStoreManager(callContext);
201201
}
202202

203203
@Produces

runtime/service/src/main/java/org/apache/polaris/service/context/catalog/PolarisCallContextCatalogFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public Catalog createCallContextCatalog(
8282
LOGGER.debug("Initializing new BasePolarisCatalog for key: {}", catalogKey);
8383

8484
PolarisMetaStoreManager metaStoreManager =
85-
metaStoreManagerFactory.createMetaStoreManager(context.getRealmContext());
85+
metaStoreManagerFactory.createMetaStoreManager(context);
8686
IcebergCatalog catalogInstance =
8787
new IcebergCatalog(
8888
diagnostics,

runtime/service/src/main/java/org/apache/polaris/service/events/listeners/inmemory/InMemoryBufferEventListener.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import java.time.Duration;
4040
import java.util.List;
4141
import java.util.Objects;
42+
import org.apache.polaris.core.PolarisCallContext;
43+
import org.apache.polaris.core.config.PolarisConfigurationStore;
4244
import org.apache.polaris.core.context.CallContext;
4345
import org.apache.polaris.core.context.RealmContext;
4446
import org.apache.polaris.core.entity.PolarisEvent;
@@ -57,6 +59,7 @@ public class InMemoryBufferEventListener extends PolarisPersistenceEventListener
5759

5860
@Inject CallContext callContext;
5961
@Inject Clock clock;
62+
@Inject PolarisConfigurationStore configurationStore;
6063
@Inject MetaStoreManagerFactory metaStoreManagerFactory;
6164
@Inject InMemoryBufferEventListenerConfiguration configuration;
6265

@@ -118,7 +121,8 @@ protected UnicastProcessor<PolarisEvent> createProcessor(String realmId) {
118121
@Fallback(fallbackMethod = "onFlushError")
119122
protected void flush(String realmId, List<PolarisEvent> events) {
120123
RealmContext realmContext = () -> realmId;
121-
var metaStoreManager = metaStoreManagerFactory.createMetaStoreManager(realmContext);
124+
CallContext callContext = new PolarisCallContext(realmContext, configurationStore);
125+
var metaStoreManager = metaStoreManagerFactory.createMetaStoreManager(callContext);
122126
metaStoreManager.writeEvents(events);
123127
}
124128

runtime/service/src/main/java/org/apache/polaris/service/task/TableCleanupTaskHandler.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ public boolean handleTask(TaskEntity cleanupTask, CallContext callContext) {
107107
TableMetadataParser.read(fileIO, tableEntity.getMetadataLocation());
108108

109109
PolarisMetaStoreManager metaStoreManager =
110-
metaStoreManagerFactory.createMetaStoreManager(callContext.getRealmContext());
110+
metaStoreManagerFactory.createMetaStoreManager(callContext);
111111

112112
Stream<TaskEntity> manifestCleanupTasks =
113113
getManifestTaskStream(cleanupTask, tableMetadata, fileIO, tableEntity, metaStoreManager);

runtime/service/src/main/java/org/apache/polaris/service/task/TaskExecutorImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ protected void handleTask(long taskEntityId, CallContext ctx, int attempt) {
149149
try {
150150
LOGGER.info("Handling task entity id {}", taskEntityId);
151151
PolarisMetaStoreManager metaStoreManager =
152-
metaStoreManagerFactory.createMetaStoreManager(ctx.getRealmContext());
152+
metaStoreManagerFactory.createMetaStoreManager(ctx);
153153
PolarisBaseEntity taskEntity =
154154
metaStoreManager.loadEntity(0L, taskEntityId, PolarisEntityType.TASK).getEntity();
155155
if (!PolarisEntityType.TASK.equals(taskEntity.getType())) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ public void before(TestInfo testInfo) {
251251

252252
callContext = polarisContext;
253253
realmConfig = polarisContext.getRealmConfig();
254-
metaStoreManager = managerFactory.createMetaStoreManager(realmContext);
254+
metaStoreManager = managerFactory.createMetaStoreManager(polarisContext);
255255
userSecretsManager = userSecretsManagerFactory.getOrCreateUserSecretsManager(realmContext);
256256

257257
polarisAuthorizer = new PolarisAuthorizerImpl(realmConfig);

0 commit comments

Comments
 (0)