Confluence 5.1 has reached end of life
Check out the [latest version] of the documentation
This page covers troubleshooting for a clustered installation of Confluence.
- For information about clustering in general, refer to the overview of Confluence clustering.
- If you're experiencing Cluster Panic messages in non-clustered installation of Confluence, visit the Knowledge Base article 'Database is being updated by an instance which is not part of the current cluster' Error Message.
On this page:
The information on this page does not apply to Confluence OnDemand.
Symptoms
Below is a list of potential problems with a Confluence cluster, and their likely solutions. The solutions are listed below.
Problem | Likely solutions |
---|---|
| 'Database is being updated by an instance which is not part of the current cluster' Error Message |
| |
| |
Error in log: | |
Multicast being sent, but not received (detectable with Multicast Test) | Check firewall, Check intermediate routers, Increase multicast TTL |
Any issue not covered here |
Confluence cluster debugging tools
There is an umbrella issue opened for all cluster debugging tools here
It includes the tools listed below.
Multicast
- Which multicast address?
The multicast address and port used by Confluence can be found on the Cluster Administration page, or in confluence.cfg.xml
in the Confluence home directory.
- Multicast address generation.
Confluence uses a hashing algorithm to take the inputted name during setup and it is then turned into a multicast address stored in the config file. Thus, once the initial setup is completed, Confluence will use the address this is the reason why user can change the address if needed, without actually changing the name. Consequently the additional nodes using the same multicast address specified in the config file are able to join the cluster.
Each node has a multicast address configured in the confluence-cfg.xml
file
name="confluence.cluster.address">xxx.xx.xxx.xxx</property>
A warning message is displayed when an user changes the address from the one that Confluence has generated by the hashing of the name. There is no way of eliminating the message any other way other than by returning the address to the one that matches the cluster name. Purpose of the warning message is to remind the user that the address has been changed - as it is not the hashed version any longer - consequently the node can not join the cluster just by using the name. It is also necessary to provide the correct address as well.
Mapping interface to IP address.
To ensure that the interface name is mapped correctly, the following tool can be used. It shows the mapping of the interface name to the IP address.
C:\>java -jar list-interfaces.jar interfaces.size() = 4 networkInterface[0] = name:lo (MS TCP Loopback interface) index: 1 addresses: /127.0.0.1; networkInterface[1] = name:eth0 (VMware Virtual Ethernet Adapter for VMnet8) index: 2 addresses: /192.168.133.1; networkInterface[2] = name:eth1 (VMware Virtual Ethernet Adapter for VMnet1) index: 3 addresses: /192.168.68.1; networkInterface[3] = name:eth2 (Broadcom NetXtreme 57xx Gigabit Controller - Packet Scheduler Miniport) index: 4 addresses: /192.168.0.101;
Debugging tools
Listed below are some debugging tools that help determine what the status of the multicast traffic is:
Tool | Information provided |
---|---|
| Lists multicast groups. Does not work on Mac OS X. |
| Lists system routing table. |
Coherence tool for testing multicast traffic from one node to another. | |
| Captures network traffic on the given interface. Most useful on an interface that only receives cluster traffic. |
Add multicast route
Multicast networking requirements vary across operating systems. Some operating systems require little configuration, while some require the multicast address to be explicitly added to a network interface before Confluence can use it.
If the Multicast Test tool shows that multicast traffic can't be sent or received correctly, adding a route for multicast traffic on the correct interface will often fix the problem. The example below is for a Ubuntu Linux system:
route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0
To support multiple applications using multicast on different interfaces, you may need to specify a route specific to the Confluence multicast address.
Check firewall
Ensure your firewall allows UDP traffic on the multicast address and port used by Confluence.
Prefer IPv4
There's a known issue with IPv6, especially on Linux.
The fix is to add -Djava.net.preferIPv4Stack=true
to JAVA_OPTS
. This tells the JVM to try binding an IPv4 address first, and resort to IPv6 only if that fails.
Note: A more radical approach is to add NETWORKING_IPV6=no to /etc/sysconfig/network, yet probably should be left for a later consideration on a production machine.
Change multicast interface
Confluence might have selected the incorrect interface for multicast traffic, which means it cannot connect to other nodes in the cluster. To override the interface used for multicast traffic after initial setup, edit confluence.cfg.xml
in the Confluence home directory and add a property (or change the existing one) to select your desired network interface. For example to tell Confluence to use eth1
:
<property name="confluence.cluster.interface">eth1</property>
Increase multicast TTL
The multicast time-to-live (TTL) specifies how many hops a multicast packet should be allowed to travel before it is discarded by a router. It should be set to the number of routers in between your clustered nodes: 0 if both are on the same machine, 1 if on two different machines linked by a switch or cable, 2 if on two different machines with one intermediate router, and so on.
Create a file in the Confluence home directory called tangosol-coherence-override.xml
. Add the following to it, setting the TTL value appropriately (1 is the default):
<?xml version='1.0'?> <coherence> <cluster-config> <multicast-listener> <time-to-live system-property='tangosol.coherence.ttl'>1</time-to-live> </multicast-listener> </cluster-config> </coherence>
Alternatively, simply start Confluence with the system property: -Dtangosol.coherence.ttl=1
. Again, 1 is the default value, and you should change it to something appropriate to your network topology.
Check intermediate routers
Advanced switches and routers have the ability to understand multicast traffic, and route it appropriately. Unfortunately sometimes this functionality doesn't work correctly with the multicast management information (IGMP) published by the operating system running Confluence.
If multicast traffic is problematic, try disabling advanced multicast features on switches and routers in between the clustered nodes. These features can prevent multicast traffic being transmitted by certain operating systems.
For best results, use the simplest network topology possible for the cluster traffic between the nodes. For two nodes, that means a single network cable. For larger numbers, try using a single high-quality switch.
Advanced Tangosol configuration
If the solution to your problem involves changes to the Tangosol configuration, these changes should not be made to the Confluence configuration in confluence/WEB-INF/classes/
. Instead, to ensure your configuration survives upgrades, make your changes via:
- Tangosol system properties
- creating a
tangosol-coherence-override.xml
file in the Confluence home directory.
Examples of making these changes are shown in the increasing the TTL section.
Didn't find a solution?
Check Related Articles from the Confluence Knowledge Base
Open JIRA Features and Bug Reports
Contact Atlassian support
We have dedicated staff on hand to support your installation of Confluence. Please follow the instructions for raising a support request and mention that you're having trouble setting up your Confluence cluster.