Skip to content

Commit a3f3ab8

Browse files
authored
Allow MetaStoreManagerFactory to produce null EntityCache (#1131)
Following up on #1055, this refactoring does not remove `EntityCache`, but allows it to be `null` in principle, should a particular MetaStoreManagerFactory implementation choose not to use an `EntityCache`. * Remove bean producer for `EntityCache` (beans cannot be `null`). * Harmonize all `PolarisEntityManager` producers (explicit and CDI) to go through `RealmEntityManagerFactory` (tangential to the cache being null, but related).
1 parent 6651a9f commit a3f3ab8

File tree

2 files changed

+4
-13
lines changed
  • polaris-core/src/main/java/org/apache/polaris/core/persistence/resolver
  • quarkus/service/src/main/java/org/apache/polaris/service/quarkus/config

2 files changed

+4
-13
lines changed

polaris-core/src/main/java/org/apache/polaris/core/persistence/resolver/Resolver.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ public class Resolver {
6464
private final @Nonnull PolarisMetaStoreManager polarisMetaStoreManager;
6565

6666
// the cache of entities
67-
private final EntityCache cache;
67+
@Nullable private final EntityCache cache;
6868

6969
// the id of the principal making the call or 0 if unknown
7070
private final @Nonnull AuthenticatedPolarisPrincipal polarisPrincipal;

quarkus/service/src/main/java/org/apache/polaris/service/quarkus/config/QuarkusProducers.java

+3-12
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,14 @@
4444
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
4545
import org.apache.polaris.core.persistence.PolarisEntityManager;
4646
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
47-
import org.apache.polaris.core.persistence.cache.EntityCache;
4847
import org.apache.polaris.core.persistence.transactional.TransactionalPersistence;
4948
import org.apache.polaris.core.storage.cache.StorageCredentialCache;
5049
import org.apache.polaris.service.auth.ActiveRolesProvider;
5150
import org.apache.polaris.service.auth.Authenticator;
5251
import org.apache.polaris.service.auth.TokenBrokerFactory;
5352
import org.apache.polaris.service.catalog.api.IcebergRestOAuth2ApiService;
5453
import org.apache.polaris.service.catalog.io.FileIOFactory;
54+
import org.apache.polaris.service.config.RealmEntityManagerFactory;
5555
import org.apache.polaris.service.context.RealmContextConfiguration;
5656
import org.apache.polaris.service.context.RealmContextFilter;
5757
import org.apache.polaris.service.context.RealmContextResolver;
@@ -211,13 +211,6 @@ public ManagedExecutor taskExecutor(TaskHandlerConfiguration config) {
211211
.build();
212212
}
213213

214-
@Produces
215-
@RequestScoped
216-
public EntityCache entityCache(
217-
RealmContext realmContext, MetaStoreManagerFactory metaStoreManagerFactory) {
218-
return metaStoreManagerFactory.getOrCreateEntityCache(realmContext);
219-
}
220-
221214
@Produces
222215
@RequestScoped
223216
public PolarisMetaStoreManager polarisMetaStoreManager(
@@ -235,10 +228,8 @@ public TransactionalPersistence polarisMetaStoreSession(
235228
@Produces
236229
@RequestScoped
237230
public PolarisEntityManager polarisEntityManager(
238-
PolarisMetaStoreManager polarisMetaStoreManager,
239-
StorageCredentialCache credentialCache,
240-
EntityCache entityCache) {
241-
return new PolarisEntityManager(polarisMetaStoreManager, credentialCache, entityCache);
231+
RealmContext realmContext, RealmEntityManagerFactory factory) {
232+
return factory.getOrCreateEntityManager(realmContext);
242233
}
243234

244235
@Produces

0 commit comments

Comments
 (0)