apache/pulsar · error · BrokerServiceException.ServiceUnitNotReadyException
Failed to validate the parent bundle in the namespace bundle
Error message
Failed to validate the parent bundle in the namespace bundles.
What it means
ServiceUnitStateChannelImpl bundle-splitting validation failed: the parent bundle referenced by a split request is not contained in the target namespace's bundle set, indicating inconsistent bundle state between the channel metadata and the namespace policies.
Source
Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java:1265
log.info().attr("bundle", parentBundle)
.log("Namespace bundles do not contain the parent bundle");
}
for (var childBundle : childBundles) {
try {
targetNsBundle.validateBundle(childBundle);
if (debug) {
log.info().attr("bundle", childBundle)
.log("Namespace bundles contain the child bundle");
}
} catch (Exception ex) {
throw FutureUtil.wrapToCompletionException(
new BrokerServiceException.ServiceUnitNotReadyException(
"Namespace bundles do not contain the child bundle:" + childBundle, e));
}
}
found = true;
} catch (Exception e) {
throw FutureUtil.wrapToCompletionException(
new BrokerServiceException.ServiceUnitNotReadyException(
"Failed to validate the parent bundle in the namespace bundles.", e));
}
if (found) {
return CompletableFuture.completedFuture(targetNsBundle);
} else {
return namespaceService.getSplitBoundary(parentBundle, algorithm, boundaries)
.thenApply(splitBundlesPair -> splitBundlesPair.getLeft());
}
});
}
private CompletableFuture<Void> updateSplitNamespaceBundlesAsync(
NamespaceService namespaceService,
NamespaceBundleFactory bundleFactory,
NamespaceBundle parentBundle,
NamespaceBundles splitNamespaceBundles) {
var namespaceName = parentBundle.getNamespaceObject();View on GitHub (pinned to 820761864e)
Solutions
- Re-read current namespace bundles and work from the existing children
- Skip the transfer for the stale parent bundle
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java:1265 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/b43359fbd25dd1f0.
Report an issue: GitHub.