apache/pulsar · error · PulsarServerException
Failed to start the channel.
Error message
Failed to start the channel.
What it means
ServiceUnitStateChannelImpl.start failed while initializing the system-topic-based channel (tableview start, broker registry, session listener registration); the wrapped cause explains which step failed.
Source
Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java:343
pulsar.getConfiguration().getDefaultNumberOfNamespaceBundles());
tableview = createServiceUnitStateTableView();
tableview.start(pulsar, this::handleEvent, this::handleExisting, this::handleInvalidate);
if (debug) {
log.info("Successfully started the channel tableview.");
}
pulsar.getLocalMetadataStore().registerSessionListener(this::handleMetadataSessionEvent);
if (debug) {
log.info("Successfully registered the handleMetadataSessionEvent");
}
channelState = Started;
log.info("Successfully started the channel.");
} catch (Exception e) {
String msg = "Failed to start the channel.";
log.error().exception(e).log(msg);
throw new PulsarServerException(msg, e);
}
}
@VisibleForTesting
protected BrokerRegistry getBrokerRegistry() {
return ((ExtensibleLoadManagerWrapper) pulsar.getLoadManager().get())
.get().getBrokerRegistry();
}
@VisibleForTesting
protected LoadManagerContext getContext() {
return ((ExtensibleLoadManagerWrapper) pulsar.getLoadManager().get())
.get().getContext();
}
@VisibleForTesting
protected ExtensibleLoadManagerImpl getLoadManager() {
return ExtensibleLoadManagerImpl.get(pulsar.getLoadManager().get());View on GitHub (pinned to 820761864e)
Solutions
- Check the nested exception for the failing subsystem (metadata store, system topic)
- Verify the system topic namespace exists and the broker can connect to the metadata store, then restart the broker
Defensive patterns
Strategy: try-catch
When it happens
Trigger: Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java:343 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/4138c87812299202.
Report an issue: GitHub.