apache/pulsar · error · RestException
e
Error message
e
What it means
Generic catch-all: the offline-topic backlog estimation code wraps an unexpected lower-level exception (identified only as 'e') while computing PersistentOfflineTopicStats with the managed-ledger digest config; the original cause is carried by the enclosing exception.
Source
Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java:3398
}
return pulsar().getBrokerService().getManagedLedgerConfig(topicName)
.thenCompose(config -> {
ManagedLedgerOfflineBacklog offlineTopicBacklog =
new ManagedLedgerOfflineBacklog(config.getDigestType(), config.getPassword(),
pulsar().getAdvertisedAddress(), false);
try {
PersistentOfflineTopicStats estimateOfflineTopicStats =
offlineTopicBacklog.estimateUnloadedTopicBacklog(
pulsar().getBrokerService()
.getManagedLedgerFactoryForTopic(topicName,
config.getStorageClassName()),
topicName);
pulsar().getBrokerService()
.cacheOfflineTopicStats(topicName, estimateOfflineTopicStats);
return CompletableFuture.completedFuture(estimateOfflineTopicStats);
} catch (Exception e) {
throw new RestException(e);
}
});
});
}
@SuppressWarnings("deprecation")
protected CompletableFuture<Map<BacklogQuota.BacklogQuotaType, BacklogQuota>> internalGetBacklogQuota(
boolean applied, boolean isGlobal) {
return getTopicPoliciesAsyncWithRetry(topicName, isGlobal)
.thenApply(op -> {
Map<BacklogQuota.BacklogQuotaType, BacklogQuota> quotaMap = op
.map(TopicPolicies::getBackLogQuotaMap)
.map(map -> {
HashMap<BacklogQuota.BacklogQuotaType, BacklogQuota> hashMap = new HashMap<>();
map.forEach((key, value) -> hashMap.put(BacklogQuota.BacklogQuotaType.valueOf(key), value));
return hashMap;
}).orElse(new HashMap<>());View on GitHub (pinned to 820761864e)
Solutions
- Inspect the nested cause in the REST response/logs for the real failure
- Confirm the ledger/digest/password configuration matches the topic's offloaded data
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/admin/impl/PersistentTopicsBase.java:3398 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of apache/pulsar@820761864e (2026-09-06).
Data as JSON: /api/errors/d6f932d1638a70f9.
Report an issue: GitHub.