Skip to content

Commit dc4e343

Browse files
committed
Fix a hidden bug
1 parent 9599cff commit dc4e343

File tree

1 file changed

+14
-9
lines changed

1 file changed

+14
-9
lines changed

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

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -196,15 +196,20 @@ public Map<String, BaseResult> purgeRealms(Iterable<String> realms) {
196196

197197
for (String realm : realms) {
198198
RealmContext realmContext = () -> realm;
199-
PolarisMetaStoreManager metaStoreManager = getOrCreateMetaStoreManager(realmContext);
200-
BasePersistence session = getOrCreateSession(realmContext);
201-
202-
PolarisCallContext callContext = new PolarisCallContext(realmContext, session);
203-
BaseResult result = metaStoreManager.purge(callContext);
204-
results.put(realm, result);
205-
206-
sessionSupplierMap.remove(realm);
207-
metaStoreManagerMap.remove(realm);
199+
try {
200+
PolarisMetaStoreManager metaStoreManager = getOrCreateMetaStoreManager(realmContext);
201+
BasePersistence session = getOrCreateSession(realmContext);
202+
203+
PolarisCallContext callContext = new PolarisCallContext(realmContext, session);
204+
BaseResult result = metaStoreManager.purge(callContext);
205+
results.put(realm, result);
206+
207+
sessionSupplierMap.remove(realm);
208+
metaStoreManagerMap.remove(realm);
209+
} catch (IllegalStateException e) {
210+
// Realm is not bootstrapped, return a failed result
211+
results.put(realm, new BaseResult(BaseResult.ReturnStatus.ENTITY_NOT_FOUND, e.getMessage()));
212+
}
208213
}
209214

210215
return Map.copyOf(results);

0 commit comments

Comments
 (0)