Skip to content

Commit 07f3199

Browse files
authored
MetaStoreManagerFactory: make purgeRealms() return purge results (#889)
1 parent fcdb4bd commit 07f3199

File tree

3 files changed

+14
-10
lines changed

3 files changed

+14
-10
lines changed

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

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import jakarta.annotation.Nonnull;
2222
import jakarta.annotation.Nullable;
2323
import java.util.HashMap;
24-
import java.util.List;
2524
import java.util.Map;
2625
import java.util.function.Supplier;
2726
import org.apache.polaris.core.PolarisCallContext;
@@ -97,7 +96,7 @@ private void initializeForRealm(
9796

9897
@Override
9998
public synchronized Map<String, PrincipalSecretsResult> bootstrapRealms(
100-
List<String> realms, RootCredentialsSet rootCredentialsSet) {
99+
Iterable<String> realms, RootCredentialsSet rootCredentialsSet) {
101100
Map<String, PrincipalSecretsResult> results = new HashMap<>();
102101

103102
for (String realm : realms) {
@@ -111,23 +110,28 @@ public synchronized Map<String, PrincipalSecretsResult> bootstrapRealms(
111110
}
112111
}
113112

114-
return results;
113+
return Map.copyOf(results);
115114
}
116115

117116
@Override
118-
public void purgeRealms(List<String> realms) {
117+
public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
118+
Map<String, BaseResult> results = new HashMap<>();
119+
119120
for (String realm : realms) {
120121
PolarisMetaStoreManager metaStoreManager = getOrCreateMetaStoreManager(() -> realm);
121122
PolarisMetaStoreSession session = getOrCreateSessionSupplier(() -> realm).get();
122123

123124
PolarisCallContext callContext = new PolarisCallContext(session, diagServices);
124-
metaStoreManager.purge(callContext);
125+
BaseResult result = metaStoreManager.purge(callContext);
126+
results.put(realm, result);
125127

126128
storageCredentialCacheMap.remove(realm);
127129
backingStoreMap.remove(realm);
128130
sessionSupplierMap.remove(realm);
129131
metaStoreManagerMap.remove(realm);
130132
}
133+
134+
return Map.copyOf(results);
131135
}
132136

133137
@Override

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

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
*/
1919
package org.apache.polaris.core.persistence;
2020

21-
import java.util.List;
2221
import java.util.Map;
2322
import java.util.function.Supplier;
2423
import org.apache.polaris.core.auth.PolarisSecretsManager.PrincipalSecretsResult;
@@ -39,8 +38,8 @@ public interface MetaStoreManagerFactory {
3938
EntityCache getOrCreateEntityCache(RealmContext realmContext);
4039

4140
Map<String, PrincipalSecretsResult> bootstrapRealms(
42-
List<String> realms, RootCredentialsSet rootCredentialsSet);
41+
Iterable<String> realms, RootCredentialsSet rootCredentialsSet);
4342

4443
/** Purge all metadata for the realms provided */
45-
void purgeRealms(List<String> realms);
44+
Map<String, BaseResult> purgeRealms(Iterable<String> realms);
4645
}

quarkus/service/src/test/java/org/apache/polaris/service/quarkus/catalog/BasePolarisCatalogTest.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@
8686
import org.apache.polaris.core.entity.PolarisEntityType;
8787
import org.apache.polaris.core.entity.PrincipalEntity;
8888
import org.apache.polaris.core.entity.TaskEntity;
89+
import org.apache.polaris.core.persistence.BaseResult;
8990
import org.apache.polaris.core.persistence.MetaStoreManagerFactory;
9091
import org.apache.polaris.core.persistence.PolarisEntityManager;
9192
import org.apache.polaris.core.persistence.PolarisMetaStoreManager;
@@ -354,12 +355,12 @@ public EntityCache getOrCreateEntityCache(RealmContext realmContext) {
354355

355356
@Override
356357
public Map<String, PrincipalSecretsResult> bootstrapRealms(
357-
List<String> realms, RootCredentialsSet rootCredentialsSet) {
358+
Iterable<String> realms, RootCredentialsSet rootCredentialsSet) {
358359
throw new NotImplementedException("Bootstrapping realms is not supported");
359360
}
360361

361362
@Override
362-
public void purgeRealms(List<String> realms) {
363+
public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
363364
throw new NotImplementedException("Purging realms is not supported");
364365
}
365366
};

0 commit comments

Comments
 (0)