{"record":{"id":"3095eae0b3eafed1","repo":"apache/cassandra","slug":"configured-configname-intf-was-found-but","errorCode":null,"errorMessage":"Configured ${configName} \"${intf}\" was found, but had no addresses","messagePattern":"Configured (.+?) \"(.+?)\" was found, but had no addresses","errorType":"exception","errorClass":"ConfigurationException","httpStatus":null,"severity":"critical","filePath":"src/java/org/apache/cassandra/config/DatabaseDescriptor.java","lineNumber":545,"sourceCode":"        if (!hasLoggedConfig)\n        {\n            hasLoggedConfig = true;\n            Config.log(config);\n        }\n\n        return config;\n    }\n\n    private static InetAddress getNetworkInterfaceAddress(String intf, String configName, boolean preferIPv6) throws ConfigurationException\n    {\n        try\n        {\n            NetworkInterface ni = NetworkInterface.getByName(intf);\n            if (ni == null)\n                throw new ConfigurationException(\"Configured \" + configName + \" \\\"\" + intf + \"\\\" could not be found\", false);\n            Enumeration<InetAddress> addrs = ni.getInetAddresses();\n            if (!addrs.hasMoreElements())\n                throw new ConfigurationException(\"Configured \" + configName + \" \\\"\" + intf + \"\\\" was found, but had no addresses\", false);\n\n            /*\n             * Try to return the first address of the preferred type, otherwise return the first address\n             */\n            InetAddress retval = null;\n            while (addrs.hasMoreElements())\n            {\n                InetAddress temp = addrs.nextElement();\n                if (preferIPv6 && temp instanceof Inet6Address) return temp;\n                if (!preferIPv6 && temp instanceof Inet4Address) return temp;\n                if (retval == null) retval = temp;\n            }\n            return retval;\n        }\n        catch (SocketException e)\n        {\n            throw new ConfigurationException(\"Configured \" + configName + \" \\\"\" + intf + \"\\\" caused an exception\", e);\n        }","sourceCodeStart":527,"sourceCodeEnd":563,"githubUrl":"https://github.com/apache/cassandra/blob/88fd0f6a0eaed8943f05ac9e8f947882b8ddc8f1/src/java/org/apache/cassandra/config/DatabaseDescriptor.java#L527-L563","documentation":"The configured network interface was found by name, but enumerating its InetAddress values returned nothing — the interface exists yet has no usable address (typically because it has no IP assigned). Cassandra throws ConfigurationException since it cannot derive a listen/rpc address.","triggerScenarios":"cassandra.yaml points listen_interface/rpc_interface at an interface that is up but unconfigured (no IP), or a loopback-only/VPN interface with no addresses at startup time.","commonSituations":"Starting Cassandra before DHCP/network configuration completes in VMs or containers, interfaces brought up without an address, or pointing at a tunnel/dummy interface.","solutions":["Assign an IP address to the configured interface before starting Cassandra","Point cassandra.yaml at an interface that has an address (check with 'ip addr show <intf>')","Use explicit listen_address/rpc_address IPs instead of interface names"],"exampleFix":"# before\nlisten_interface: dummy0\n# after\nlisten_interface: eth0\n# or\nlisten_address: 192.168.1.10","handlingStrategy":"validation","validationCode":"NetworkInterface ni = NetworkInterface.getByName(intf); boolean hasAddr = ni != null && ni.getInetAddresses().hasMoreElements(); if (!hasAddr) throw new IllegalStateException(\"interface has no address: \" + intf);","typeGuard":null,"tryCatchPattern":"try { DatabaseDescriptor.daemonInitialization(); } catch (ConfigurationException e) { log.error(\"interface {} not usable: {}\", intf, e.getMessage()); }","preventionTips":["Ensure network is fully up (DHCP lease acquired) before starting Cassandra as a service","Use systemd network-online.target / cloud-init completion ordering","Prefer explicit IPs for stateless container deployments"],"tags":["cassandra","config","network","startup"],"backgroundTag":"resource-not-found","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"}