This page covers troubleshooting for a clustered installation of Confluence.

On this page:

(warning) 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 errors on a stand-alone

'Database is being updated by an instance which is not part of the current cluster' Error Message

Database is being updated by an instance which is not part of the current cluster errors on a cluster

Add multicast route, Check firewall

Cannot assign requested address on startup, featuring an IPv6 address

Prefer IPv4

Error in log: The interface is not suitable for multicast communication

Change multicast interface, Add multicast route

Multicast being sent, but not received (detectable with Multicast Test)

Check firewall, Check intermediate routers, Increase multicast TTL

Any issue not covered here

Contact support

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

netstat -gn

Lists multicast groups. Does not work on Mac OS X.

netstat -rn

Lists system routing table.

Multicast Test

Coherence tool for testing multicast traffic from one node to another.

tcpdump -i interface

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

Icon

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

Type Key Summary Assignee Reporter Priority Status Resolution Created Updated Due
Improvement CONF-23223 Remove the option to store attachments on filesystem when using a cluster Unassigned Carlos Alberto Feijo Schedler [Atlassian] Open Unresolved Sep 14, 2011 Sep 15, 2011
Improvement CONF-27248 WorkBox (notifications and tasks) support for Confluence clustered Unassigned Chris Hubing Open Unresolved Nov 14, 2012 Jul 31, 2013
Improvement CONF-21670 Confluence should explicitly check for other confluence instances using the same home directory Unassigned Don Willis [Atlassian] Open Unresolved Jan 20, 2011 Jan 25, 2011
Bug CONF-12287 Coherence cache fails while retrieving profile picture metadata (dashboard or view page shows UnexpectedRollbackException) Unassigned Matt Ryall [Atlassian] Critical Open Unresolved Jul 01, 2008 Apr 05, 2011
Improvement CONF-12689 Support Confluence cluster upgrades without an outage Unassigned Igor Minar Open Unresolved Aug 06, 2008 Jun 24, 2012
Bug CONF-14120 Hibernates UpdateTimestampsCache doesn't handle concurrent writes Unassigned Chris Kiehl [Atlassian] Critical Open Unresolved Jan 06, 2009 May 06, 2009
Improvement CONF-9297 Confluence should be able to automatically recover from cluster panics Unassigned Gary Weaver Open Unresolved Aug 27, 2007 Apr 12, 2012
Bug CONF-8959 Attachment migration does not happen when upgrading to a clustered license Unassigned Nicholas Ilacqua [Atlassian] Critical Open Unresolved Jul 19, 2007 Feb 25, 2013
Bug CONF-25867 Page diffs fail because the confluence-coherence-cache-config-clustered.xml file is not being updated in clustered upgrades Unassigned Robert Chang [Atlassian] Major Open Unresolved Jun 27, 2012 Aug 26, 2013
Bug CONF-23033 Viewfile macro does not work in Confluence Clustered when Office Connector is configured to use Cache in Memory for temporary storage Unassigned Roy Hartono [Atlassian] Major Open Unresolved Aug 09, 2011 Oct 16, 2012
Bug CONF-22352 Share page plugin doesn't work for Clustered instances Unassigned Anna Katrina Dominguez [Atlassian] Major Open Unresolved Apr 19, 2011 Jul 30, 2013
Bug CONF-30411 Gliffy stops working on other cluster nodes after re-enablement Unassigned Fabian Kraemer [Atlassian] Major Open Unresolved Aug 15, 2013 Sep 03, 2013
Bug CONF-25211 Plugin installation breakes clustered cache Unassigned Thomas Krug Major Open Unresolved Apr 14, 2012 Apr 16, 2012
Bug CONF-14657 Retrieving the global settings in a clustered environment causes a lot of contention Unassigned Chris Kiehl [Atlassian] Major Open Unresolved Feb 22, 2009 Nov 09, 2009
Bug CONF-10325 Viewing the members of a group in a clustered environment works only on one node and not the other. Unassigned Partha Kamal [Atlassian] Major Open Unresolved Dec 27, 2007 Jul 02, 2009
Bug CONF-13421 Layout customisations are not propagated to other cluster nodes Unassigned Matt Ryall [Atlassian] Major Open Unresolved Oct 16, 2008 Dec 10, 2008
Bug CONF-10868 Node that can not join cluster due to license restriction causes cluster panic Unassigned Ivan Benko [Atlassian] Major Open Unresolved Feb 29, 2008 Sep 03, 2008
Improvement CONF-10980 Cluster debugging/troubleshooting tools Unassigned Ivan Benko [Atlassian] Open Unresolved Mar 07, 2008 Apr 12, 2012
Bug CONF-12486 ClassNotFoundException logged on cluster node startup Unassigned Anatoli Kazatchkov [Atlassian] Major Open Unresolved Jul 18, 2008 Aug 26, 2009
Bug CONF-12614 Intermittent ConcurrentModificationException in cluster Unassigned Anatoli Kazatchkov [Atlassian] Major Open Unresolved Jul 30, 2008 Apr 01, 2009
16 more issues

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.

Cluster Safety Mechanism

Attachments:

list-interfaces.jar (application/x-java)