Cannot Enable Collaborative Editing on Synchrony Cluster (F5 Load Balancer)

Still need help?

The Atlassian Community is here for you.

Ask the community


Platform Notice: Data Center Only - This article only applies to Atlassian products on the Data Center platform.

Note that this KB was created for the Data Center version of the product. Data Center KBs for non-Data-Center-specific features may also work for Server versions of the product, however they have not been tested. Support for Server* products ended on February 15th 2024. If you are running a Server product, you can visit the Atlassian Server end of support announcement to review your migration options.

*Except Fisheye and Crucible

Problem

The Collaborative Editing page hangs when changing the feature mode from Off to On. If we open the Developer Tools feature in the browser and check the Network tab during the attempt of turning Collaborative Editing On, we'll see that the requests that Confluence is making to the URLs below will return the HTTP code 204 instead of 200:

Diagnosis

Environment

  • Confluence Data Center

  • Synchrony Cluster that is not self-managed by Confluence (6.13+), meaning that the start-synchrony script is in use and a specific proxy for Synchrony is set up
  • There's a F5 Load Balancer in front of Confluence (although this could affect other Load Balancers too)
  • Synchrony Cluster starts up and is returns the expected response in the heartbeat, meaning that it is working as expected

Diagnostic Steps

  • Start Confluence Data Center

  • Start Synchrony Cluster
  • Go to the Administration section of Confluence, then access the Collaborative Editing page
  • Open the Developer Tools in your browser and go to the Network tab
  • In Confluence, try to change the Collaborative Editing mode from Off to On

The requests to the URLs rest/synchrony-interop/status and rest/synchrony-interop/synchrony-status will return HTTP 204 (No Content) instead of HTTP 200 (OK).

Cause

The F5 Load Balancer is configured to forward every request that contains synchrony in the URL to the Synchrony service. However, as outlined in our proxy configuration guidelines, the correct configuration for Synchrony on the proxy server is to redirect any request that begins with /synchrony to the Synchrony service accordingly.

Resolution

Update the Load Balancer rule to use starts_with instead of contains, since the synchrony-interop plugin is part of the Confluence application and requests to that should be handled by Confluence instead of Synchrony. Here is a sample configuration that can be used on F5:

if { [HTTP::host] equals "<Confluence Domain>" and [string to lower [HTTP::uri]] starts_with "/synchrony" } {
    	pool <Synchrony Server Pool Name>
   } else {
        pool <Confluence Server Pool Name>
   }
}
DescriptionCannot start Collaborative Editing (Synchrony Cluster) due to a misconfiguration in the Load Balancer.
ProductConfluence
Last modified on Jun 13, 2023

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.