Confluence Data Center won't start due to no matching network interface found
Summary
On Data Center, Confluence or Confluence managed Synchrony are unable to start. Hazelcast errors out because the specified network interface is incorrect.
Error log details
The following error appears in atlassian-confluence.log or atlassian-synchrony.log
:
java.lang.RuntimeException: Hazelcast CANNOT start on this node. No matching network interface found.
Interface matching must be either disabled or updated in the hazelcast.xml config file.
at com.hazelcast.instance.DefaultAddressPicker.pickAddress(DefaultAddressPicker.java:180)
ERROR: Confluence is not able to find network interface named <interface_name>. Please fix the network interface name in the confluence.cfg.xml file and restart Confluence
ERROR Enabling Hazelcast interfaces config. Please ensure that custom Hazelcast network settings are up to date
Cause
An incorrect value is specified for the network interface property within <confluence-home-folder>/confluence.cfg.xml
:
<property name="confluence.cluster.interface">wlan0</property>
Resolution
If you are using Docker, see the following article for that issue: Interface IP is incorrect and not found while starting Hazelcast in a dockerized environment for Confluence Data Center
If the issue affects the startup of the DC cluster, then follow the below steps.
DC Cluster node
- Download list-interfaces.jar from CONFSERVER-10979 - List confluence cluster interface onto your Confluence node
Run:
java -jar list-interfaces.jar
Identify the interface name for that node that matches to the Confluence node IP address, in this example it is en0 that matches 192.168.0.1 (my sample Confluence Node IP):
% java -jar list-interfaces.jar interfaces.size() = 2 networkInterface[0] = name:en0 (en0) ([/fe80:0:0:0:105a:1ff1:8033:4968%en0/64 [null], /192.168.0.1/24 [/192.0.0.255]]) networkInterface[1] = name:lo0 (lo0) ([/fe80:0:0:0:0:0:0:1%lo0/64 [null], /0:0:0:0:0:0:0:1/128 [null], /169.254.169.254/8 [null], /127.0.0.1/8 [null]])
- Shutdown Confluence node
Modify the following interface line in
<confluence-home-folder>/confluence.cfg.xml
to match what was returned by the list-interfaces.jar command:<property name="confluence.cluster.interface">en0</property>
- Start the Confluence node
- Once the node has fully started, repeat the above steps on the remaining Confluence DC nodes
Notice some nodes may have a different interface name. Inspect the output of the command on all of them and set the name accordingly.