From a38996165c35e099c84b6111988f9c3a65980279 Mon Sep 17 00:00:00 2001 From: Christopher Lambert <1204398+XN137@users.noreply.github.com> Date: Thu, 24 Jul 2025 08:36:06 +0200 Subject: [PATCH] Simplify bootstrapServiceAndCreatePolarisPrincipalForRealm this is a small follow-up to 5faa3712cb8f0ae8140d096565734432d5391eb1 because the same pattern existed for this method. note that we do some minor additional "formatting" changes to minimize the diff between the two files (as they were originally copy pasted). this could lead to having a common base class in the future. --- .../jdbc/JdbcMetaStoreManagerFactory.java | 31 ++++++++----------- .../LocalPolarisMetaStoreManagerFactory.java | 24 ++++++-------- 2 files changed, 23 insertions(+), 32 deletions(-) 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 a6066895c7..20698b43ef 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 @@ -159,8 +159,7 @@ public synchronized Map bootstrapRealms( initializeForRealm( datasourceOperations, realmContext, bootstrapOptions.rootCredentialsSet()); PrincipalSecretsResult secretsResult = - bootstrapServiceAndCreatePolarisPrincipalForRealm( - realmContext, metaStoreManagerMap.get(realm)); + bootstrapServiceAndCreatePolarisPrincipalForRealm(realmContext); results.put(realm, secretsResult); } } @@ -228,14 +227,14 @@ public synchronized EntityCache getOrCreateEntityCache( * metastore and creates a root service principal. */ private PrincipalSecretsResult bootstrapServiceAndCreatePolarisPrincipalForRealm( - RealmContext realmContext, PolarisMetaStoreManager metaStoreManager) { + RealmContext realmContext) { // While bootstrapping we need to act as a fake privileged context since the real // CallContext may not have been resolved yet. + PolarisMetaStoreManager metaStoreManager = + metaStoreManagerMap.get(realmContext.getRealmIdentifier()); + BasePersistence metaStore = sessionSupplierMap.get(realmContext.getRealmIdentifier()).get(); PolarisCallContext polarisContext = - new PolarisCallContext( - realmContext, - sessionSupplierMap.get(realmContext.getRealmIdentifier()).get(), - diagServices); + new PolarisCallContext(realmContext, metaStore, diagServices); if (CallContext.getCurrentContext() == null) { CallContext.setCurrentContext(polarisContext); } @@ -264,13 +263,11 @@ private PrincipalSecretsResult bootstrapServiceAndCreatePolarisPrincipalForRealm PolarisEntityType.PRINCIPAL, PolarisEntitySubType.NULL_SUBTYPE, PolarisEntityConstants.getRootPrincipalName()); - PrincipalSecretsResult secrets = - metaStoreManager.loadPrincipalSecrets( - polarisContext, - PolarisEntity.of(rootPrincipalLookup.getEntity()) - .getInternalPropertiesAsMap() - .get(PolarisEntityConstants.getClientIdPropertyName())); - return secrets; + return metaStoreManager.loadPrincipalSecrets( + polarisContext, + PolarisEntity.of(rootPrincipalLookup.getEntity()) + .getInternalPropertiesAsMap() + .get(PolarisEntityConstants.getClientIdPropertyName())); } /** @@ -283,11 +280,9 @@ private PrincipalSecretsResult bootstrapServiceAndCreatePolarisPrincipalForRealm private void checkPolarisServiceBootstrappedForRealm(RealmContext realmContext) { PolarisMetaStoreManager metaStoreManager = metaStoreManagerMap.get(realmContext.getRealmIdentifier()); + BasePersistence metaStore = sessionSupplierMap.get(realmContext.getRealmIdentifier()).get(); PolarisCallContext polarisContext = - new PolarisCallContext( - realmContext, - sessionSupplierMap.get(realmContext.getRealmIdentifier()).get(), - diagServices); + new PolarisCallContext(realmContext, metaStore, diagServices); if (CallContext.getCurrentContext() == null) { CallContext.setCurrentContext(polarisContext); } 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 47aced248c..a54f29aed3 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 @@ -114,8 +114,7 @@ public synchronized Map bootstrapRealms( if (!metaStoreManagerMap.containsKey(realm)) { initializeForRealm(realmContext, rootCredentialsSet); PrincipalSecretsResult secretsResult = - bootstrapServiceAndCreatePolarisPrincipalForRealm( - realmContext, metaStoreManagerMap.get(realm)); + bootstrapServiceAndCreatePolarisPrincipalForRealm(realmContext); results.put(realm, secretsResult); } } @@ -179,18 +178,17 @@ public synchronized EntityCache getOrCreateEntityCache( /** * This method bootstraps service for a given realm: i.e. creates all the needed entities in the - * metastore and creates a root service principal. After that we rotate the root principal - * credentials and print them to stdout + * metastore and creates a root service principal. */ private PrincipalSecretsResult bootstrapServiceAndCreatePolarisPrincipalForRealm( - RealmContext realmContext, PolarisMetaStoreManager metaStoreManager) { + RealmContext realmContext) { // While bootstrapping we need to act as a fake privileged context since the real // CallContext may not have been resolved yet. - var polarisContext = - new PolarisCallContext( - realmContext, - sessionSupplierMap.get(realmContext.getRealmIdentifier()).get(), - diagServices); + PolarisMetaStoreManager metaStoreManager = + metaStoreManagerMap.get(realmContext.getRealmIdentifier()); + BasePersistence metaStore = sessionSupplierMap.get(realmContext.getRealmIdentifier()).get(); + PolarisCallContext polarisContext = + new PolarisCallContext(realmContext, metaStore, diagServices); if (CallContext.getCurrentContext() == null) { CallContext.setCurrentContext(polarisContext); } @@ -236,11 +234,9 @@ private PrincipalSecretsResult bootstrapServiceAndCreatePolarisPrincipalForRealm private void checkPolarisServiceBootstrappedForRealm(RealmContext realmContext) { PolarisMetaStoreManager metaStoreManager = metaStoreManagerMap.get(realmContext.getRealmIdentifier()); + BasePersistence metaStore = sessionSupplierMap.get(realmContext.getRealmIdentifier()).get(); PolarisCallContext polarisContext = - new PolarisCallContext( - realmContext, - sessionSupplierMap.get(realmContext.getRealmIdentifier()).get(), - diagServices); + new PolarisCallContext(realmContext, metaStore, diagServices); if (CallContext.getCurrentContext() == null) { CallContext.setCurrentContext(polarisContext); }