This is an automated email from the ASF dual-hosted git repository.
adutra pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/polaris.git
The following commit(s) were added to refs/heads/main by this push:
new 07f3199a MetaStoreManagerFactory: make purgeRealms() return purge
results (#889)
07f3199a is described below
commit 07f3199a7645de55774827323c6765c683eb22cb
Author: Alexandre Dutra <[email protected]>
AuthorDate: Fri Feb 28 09:44:46 2025 +0100
MetaStoreManagerFactory: make purgeRealms() return purge results (#889)
---
.../persistence/LocalPolarisMetaStoreManagerFactory.java | 14 +++++++++-----
.../polaris/core/persistence/MetaStoreManagerFactory.java | 5 ++---
.../service/quarkus/catalog/BasePolarisCatalogTest.java | 5 +++--
3 files changed, 14 insertions(+), 10 deletions(-)
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 8c7d3bb5..cbaf9487 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
@@ -21,7 +21,6 @@ package org.apache.polaris.core.persistence;
import jakarta.annotation.Nonnull;
import jakarta.annotation.Nullable;
import java.util.HashMap;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
import org.apache.polaris.core.PolarisCallContext;
@@ -97,7 +96,7 @@ public abstract class
LocalPolarisMetaStoreManagerFactory<StoreType>
@Override
public synchronized Map<String, PrincipalSecretsResult> bootstrapRealms(
- List<String> realms, RootCredentialsSet rootCredentialsSet) {
+ Iterable<String> realms, RootCredentialsSet rootCredentialsSet) {
Map<String, PrincipalSecretsResult> results = new HashMap<>();
for (String realm : realms) {
@@ -111,23 +110,28 @@ public abstract class
LocalPolarisMetaStoreManagerFactory<StoreType>
}
}
- return results;
+ return Map.copyOf(results);
}
@Override
- public void purgeRealms(List<String> realms) {
+ public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
+ Map<String, BaseResult> results = new HashMap<>();
+
for (String realm : realms) {
PolarisMetaStoreManager metaStoreManager =
getOrCreateMetaStoreManager(() -> realm);
PolarisMetaStoreSession session = getOrCreateSessionSupplier(() ->
realm).get();
PolarisCallContext callContext = new PolarisCallContext(session,
diagServices);
- metaStoreManager.purge(callContext);
+ BaseResult result = metaStoreManager.purge(callContext);
+ results.put(realm, result);
storageCredentialCacheMap.remove(realm);
backingStoreMap.remove(realm);
sessionSupplierMap.remove(realm);
metaStoreManagerMap.remove(realm);
}
+
+ return Map.copyOf(results);
}
@Override
diff --git
a/polaris-core/src/main/java/org/apache/polaris/core/persistence/MetaStoreManagerFactory.java
b/polaris-core/src/main/java/org/apache/polaris/core/persistence/MetaStoreManagerFactory.java
index 13557157..312ff46e 100644
---
a/polaris-core/src/main/java/org/apache/polaris/core/persistence/MetaStoreManagerFactory.java
+++
b/polaris-core/src/main/java/org/apache/polaris/core/persistence/MetaStoreManagerFactory.java
@@ -18,7 +18,6 @@
*/
package org.apache.polaris.core.persistence;
-import java.util.List;
import java.util.Map;
import java.util.function.Supplier;
import
org.apache.polaris.core.auth.PolarisSecretsManager.PrincipalSecretsResult;
@@ -39,8 +38,8 @@ public interface MetaStoreManagerFactory {
EntityCache getOrCreateEntityCache(RealmContext realmContext);
Map<String, PrincipalSecretsResult> bootstrapRealms(
- List<String> realms, RootCredentialsSet rootCredentialsSet);
+ Iterable<String> realms, RootCredentialsSet rootCredentialsSet);
/** Purge all metadata for the realms provided */
- void purgeRealms(List<String> realms);
+ Map<String, BaseResult> purgeRealms(Iterable<String> realms);
}
diff --git
a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/BasePolarisCatalogTest.java
b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/BasePolarisCatalogTest.java
index 7f5701e2..88f5669a 100644
---
a/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/BasePolarisCatalogTest.java
+++
b/quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/BasePolarisCatalogTest.java
@@ -86,6 +86,7 @@ import org.apache.polaris.core.entity.PolarisEntitySubType;
import org.apache.polaris.core.entity.PolarisEntityType;
import org.apache.polaris.core.entity.PrincipalEntity;
import org.apache.polaris.core.entity.TaskEntity;
+import org.apache.polaris.core.persistence.BaseResult;
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
import org.apache.polaris.core.persistence.PolarisEntityManager;
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
@@ -354,12 +355,12 @@ public class BasePolarisCatalogTest extends
CatalogTests<BasePolarisCatalog> {
@Override
public Map<String, PrincipalSecretsResult> bootstrapRealms(
- List<String> realms, RootCredentialsSet rootCredentialsSet) {
+ Iterable<String> realms, RootCredentialsSet rootCredentialsSet) {
throw new NotImplementedException("Bootstrapping realms is not
supported");
}
@Override
- public void purgeRealms(List<String> realms) {
+ public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
throw new NotImplementedException("Purging realms is not supported");
}
};