apache/pulsar · error · PulsarAdminException
Resource group ${name} still has ${tenantRefCount} tenant re
Error message
Resource group ${name} still has ${tenantRefCount} tenant refs and ${nsRefCount} namespace refs on it What it means
resourceGroupDelete refuses to delete a resource group that is still referenced by tenants or namespaces; the refcounts must be zero (unregister all tenants/namespaces from the RG) before deletion can succeed.
Source
Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupService.java:173
}
/**
* Delete RG.
*
* @throws if RG with that name does not exist, or if the RG exists but is still in use.
*/
public void resourceGroupDelete(String name) throws PulsarAdminException {
ResourceGroup rg = this.getResourceGroupInternal(name);
if (rg == null) {
throw new PulsarAdminException("Resource group does not exist: " + name);
}
long tenantRefCount = rg.getResourceGroupNumOfTenantRefs();
long nsRefCount = rg.getResourceGroupNumOfNSRefs();
if ((tenantRefCount + nsRefCount) > 0) {
String errMesg = "Resource group " + name + " still has " + tenantRefCount + " tenant refs";
errMesg += " and " + nsRefCount + " namespace refs on it";
throw new PulsarAdminException(errMesg);
}
rg.resourceGroupPublishLimiter = null;
resourceGroupsMap.remove(name);
}
/**
* Get the current number of RGs. For testing.
*/
protected long getNumResourceGroups() {
return resourceGroupsMap.mappingCount();
}
/**
* Registers a tenant as a user of a resource group.
*
* @param resourceGroupName
* @param tenantNameView on GitHub (pinned to 820761864e)
Solutions
- Unregister all tenants and namespaces from the RG (set another RG or none), then delete
- List referencing tenants/namespaces from the error counts in the message
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/resourcegroup/ResourceGroupService.java:173 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/a430daab7bc553a1.
Report an issue: GitHub.