{"record":{"id":"7a940221e9083161","repo":"apache/cassandra","slug":"unknown-listen-address","errorCode":null,"errorMessage":"Unknown listen_address '","messagePattern":"Unknown listen_address '","errorType":"validation","errorClass":"ConfigurationException","httpStatus":null,"severity":"critical","filePath":"src/java/org/apache/cassandra/config/DatabaseDescriptor.java","lineNumber":1517,"sourceCode":"        listenAddress = null;\n        rpcAddress = null;\n        broadcastAddress = null;\n        broadcastRpcAddress = null;\n\n        /* Local IP, hostname or interface to bind services to */\n        if (config.listen_address != null && config.listen_interface != null)\n        {\n            throw new ConfigurationException(\"Set listen_address OR listen_interface, not both\", false);\n        }\n        else if (config.listen_address != null)\n        {\n            try\n            {\n                listenAddress = InetAddress.getByName(config.listen_address);\n            }\n            catch (UnknownHostException e)\n            {\n                throw new ConfigurationException(\"Unknown listen_address '\" + config.listen_address + '\\'', false);\n            }\n\n            if (listenAddress.isAnyLocalAddress())\n                throw new ConfigurationException(\"listen_address cannot be a wildcard address (\" + config.listen_address + \")!\", false);\n        }\n        else if (config.listen_interface != null)\n        {\n            listenAddress = getNetworkInterfaceAddress(config.listen_interface, \"listen_interface\", config.listen_interface_prefer_ipv6);\n        }\n\n        /* Gossip Address to broadcast */\n        if (config.broadcast_address != null)\n        {\n            try\n            {\n                broadcastAddress = InetAddress.getByName(config.broadcast_address);\n            }\n            catch (UnknownHostException e)","sourceCodeStart":1499,"sourceCodeEnd":1535,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L1499-L1535","documentation":"Cassandra tried to resolve the listen_address value from cassandra.yaml to an IP with InetAddress.getByName() and got an UnknownHostException. The configured hostname cannot be resolved via DNS or /etc/hosts, so the node cannot bind and throws this ConfigurationException (before the related wildcard-address check).","triggerScenarios":"config.listen_address is set to a hostname that InetAddress.getByName() cannot resolve (UnknownHostException).","commonSituations":"Using a hostname not present in /etc/hosts or DNS; typo in the hostname; DNS resolver broken in the container; using the FQDN before network is up during early boot.","solutions":["Use the node's raw IP address for listen_address in cassandra.yaml instead of a hostname.","If keeping a hostname, add a /etc/hosts entry or fix DNS so it resolves from the node.","Check for typos in the listen_address value (the message echoes it)."],"exampleFix":"# before (cassandra.yaml)\nlisten_address: node5.internal.example\n# after (hosts unresolvable)\nlisten_address: 10.0.0.5","handlingStrategy":"validation","validationCode":"addr = yaml['listen_address']\nraise \"listen_address '#{addr}' unresolvable\" if addr && !addr.match?(Resolv::IPv4::Regex) && !Resolv.getaddress(addr)","typeGuard":null,"tryCatchPattern":"catch (ConfigurationException e) { logger.error(\"listen_address does not resolve: {}\", e.getMessage()); System.exit(2); }","preventionTips":["Prefer raw IPs over hostnames for listen_address","Keep /etc/hosts entries for node names in non-DNS environments","Test DNS resolution from the node before startup"],"tags":["configuration","network","dns","cassandra"],"backgroundTag":"invalid-argument-value","analyzedSha":"88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1","analyzedAt":"2026-09-10T07:29:22.284Z","contentChangedAt":"2026-09-10T07:29:22.284Z","schemaVersion":2},"datasetVersion":"2026-09-14T16:17:12.679Z"}