apache/pulsar · error · RestException
Cluster ${cluster} does not exist.
Error message
Cluster ${cluster} does not exist. What it means
PulsarWebResource namespace validation: the cluster named in the namespace (or request) is not registered in this Pulsar instance's cluster list, so the operation cannot proceed against an unknown cluster.
Source
Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PulsarWebResource.java:1177
public CompletableFuture<Void> validatePoliciesReadOnlyAccessAsync() {
return namespaceResources().getPoliciesReadOnlyAsync().thenAccept(readOnly -> {
if (readOnly) {
log.debug("Policies are read-only. Broker cannot do read-write operations");
throw new RestException(Status.FORBIDDEN,
"Broker is forbidden to do read-write operations");
}
});
}
protected CompletableFuture<Void> hasActiveNamespace(String tenant) {
return tenantResources().hasActiveNamespace(tenant);
}
protected void validateClusterExists(String cluster) {
try {
if (!clusterResources().clusterExists(cluster)) {
throw new RestException(Status.PRECONDITION_FAILED, "Cluster " + cluster + " does not exist.");
}
} catch (Exception e) {
throw new RestException(e);
}
}
/**
* Redirect the call to the specified broker.
*
* @param brokerId broker's id (lookup service address)
*/
protected CompletableFuture<Void> maybeRedirectToBroker(String brokerId) {
// backwards compatibility
String cleanedBrokerId = brokerId.replaceFirst("http[s]?://", "");
if (pulsar.getBrokerId().equals(cleanedBrokerId)
// backwards compatibility
|| ("http://" + cleanedBrokerId).equals(pulsar().getWebServiceAddress())
|| ("https://" + cleanedBrokerId).equals(pulsar().getWebServiceAddressTls())) {View on GitHub (pinned to 820761864e)
Solutions
- Register the cluster (pulsar-admin clusters create) or fix its name
- Check replicationClusters entries for stale cluster names
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/web/PulsarWebResource.java:1177 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/824d01951aa22e09.
Report an issue: GitHub.