{"record":{"id":"7423563c59790fe0","repo":"apache/pulsar","slug":"the-broker-do-not-have-advertisedlistenername-l","errorCode":null,"errorMessage":"the broker do not have ${advertisedListenerName} listener","messagePattern":"the broker do not have (.+?) listener","errorType":"exception","errorClass":"PulsarServerException","httpStatus":null,"severity":"error","filePath":"pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/data/BrokerLookupData.java","lineNumber":94,"sourceCode":"    @Override\n    public Optional<String> getProtocol(String protocol) {\n        return Optional.ofNullable(this.protocols().get(protocol));\n    }\n\n    @Override\n    public String getLoadManagerClassName() {\n        return this.loadManagerClassName;\n    }\n\n    @Override\n    public long getStartTimestamp() {\n        return this.startTimestamp;\n    }\n\n    public LookupResult toLookupResult(LookupOptions options) throws PulsarServerException {\n        if (options.hasAdvertisedListenerName()\n                && !advertisedListeners.containsKey(options.getAdvertisedListenerName())) {\n            throw new PulsarServerException(\"the broker do not have \"\n                    + options.getAdvertisedListenerName() + \" listener\");\n        }\n        return LookupResult.create(this, options);\n    }\n\n    public LookupResult toLoadManagerMigrationLookupResult(LookupOptions options) {\n        return LookupResult.create(this, options, false);\n    }\n\n    public NamespaceEphemeralData toNamespaceEphemeralData() {\n        return new NamespaceEphemeralData(brokerId, pulsarServiceUrl, pulsarServiceUrlTls, webServiceUrl,\n                webServiceUrlTls, false, advertisedListeners);\n    }\n}\n","sourceCodeStart":76,"sourceCodeEnd":109,"githubUrl":"https://github.com/apache/pulsar/blob/820761864ed8e2a7d2e52dd9763ad2ae117c1395/pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/data/BrokerLookupData.java#L76-L109","documentation":"BrokerLookupData.toLookupResult: the lookup request asked for an advertised listener name (e.g., a custom listener) that this broker does not have configured in its advertisedListeners map, so the lookup cannot return an address for it.","triggerScenarios":"Thrown at pulsar-broker/src/main/java/org/apache/pulsar/broker/loadbalance/extensions/data/BrokerLookupData.java:94 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Add the listener to advertisedListeners on every broker and restart","Query with a listener name that exists in the broker configuration"],"exampleFix":null,"handlingStrategy":"validation","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"}