{"record":{"id":"4138c87812299202","repo":"apache/pulsar","slug":"failed-to-start-the-channel","errorCode":null,"errorMessage":"Failed to start the channel.","messagePattern":"Failed to start the channel\\.","errorType":"exception","errorClass":"PulsarServerException","httpStatus":null,"severity":"error","filePath":"pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java","lineNumber":343,"sourceCode":"                            pulsar.getConfiguration().getDefaultNumberOfNamespaceBundles());\n\n            tableview = createServiceUnitStateTableView();\n            tableview.start(pulsar, this::handleEvent, this::handleExisting, this::handleInvalidate);\n\n            if (debug) {\n                log.info(\"Successfully started the channel tableview.\");\n            }\n            pulsar.getLocalMetadataStore().registerSessionListener(this::handleMetadataSessionEvent);\n            if (debug) {\n                log.info(\"Successfully registered the handleMetadataSessionEvent\");\n            }\n\n            channelState = Started;\n            log.info(\"Successfully started the channel.\");\n        } catch (Exception e) {\n            String msg = \"Failed to start the channel.\";\n            log.error().exception(e).log(msg);\n            throw new PulsarServerException(msg, e);\n        }\n    }\n\n    @VisibleForTesting\n    protected BrokerRegistry getBrokerRegistry() {\n        return ((ExtensibleLoadManagerWrapper) pulsar.getLoadManager().get())\n                .get().getBrokerRegistry();\n    }\n\n    @VisibleForTesting\n    protected LoadManagerContext getContext() {\n        return ((ExtensibleLoadManagerWrapper) pulsar.getLoadManager().get())\n                .get().getContext();\n    }\n\n    @VisibleForTesting\n    protected ExtensibleLoadManagerImpl getLoadManager() {\n        return ExtensibleLoadManagerImpl.get(pulsar.getLoadManager().get());","sourceCodeStart":325,"sourceCodeEnd":361,"githubUrl":"https://github.com/apache/pulsar/blob/820761864ed8e2a7d2e52dd9763ad2ae117c1395/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java#L325-L361","documentation":"ServiceUnitStateChannelImpl.start failed while initializing the system-topic-based channel (tableview start, broker registry, session listener registration); the wrapped cause explains which step failed.","triggerScenarios":"Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/channel/ServiceUnitStateChannelImpl.java:343 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","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"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"820761864ed8e2a7d2e52dd9763ad2ae117c1395","analyzedAt":"2026-09-06T00:14:20.138Z","contentChangedAt":"2026-09-06T00:14:20.138Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}