Forum Discussion

Alan_Johnson_FB's avatar
Alan_Johnson_FB
Icon for Nimbostratus rankNimbostratus
Jul 14, 2017

Atlassian Confluence - Synchrony/Collaboration Issues

Hi folks,

 

I'm curious if anyone in the dev community has any experience deploying/troubleshooting Atlassian Confluence behind a load balancer. The basic deployment is simple and we have that working fine. Where we're running into issues is with a newly released feature known as Synchrony. This feature allows for collaboration between users in real time. We are finding that it works fine when configuring the application to bypass the F5, but fails every time when setup to go through the F5.

 

If anyone has any experience with Confluence and especially their new collaboration feature please feel free to respond. I'll be happy to post the details of our configuration as it currently stands on the F5.

 

9 Replies

  • I have never heard of this application, and I can't find anything in the deployments guides or askf5.

     

    Anyway, provide information about the application, like what it does and what protocol it uses. Provide also the configuration you tried to use, what error or problem you found. I will try to help with that.

     

  • We've been having the same issue in our environment since synchrony came out. If we enable collaborative editing, all access through the WIP starts to hang within minutes. Recovery requires shutting down all nodes, and starting them one at a time. However, we just verified that when this happens, the individual nodes are functional when accessed directly, and collaborative editing works with multiple users on different nodes in the cluster. This pretty much points to the F5 config as the issue.

     

    Apparently there aren't many Confluence Datacenter clients trying to use collaborative editing yet, and Atlassian doesn't provide any support for the load balancing aspect. We will be playing with the F5 config and proving data back to Atlassian support to figure this out. I'll report whatever we find here.

     

    Regarding questions in the last post: synchrony has its own URL and port. Our synchrony processes run on the same nodes as the confluence processes; as such they need a different port. Not sure what communication the user's browser has with synchrony. I do believe the issue has to do with session persistence, but I don't know what synchrony requires.

     

  • What version are you using? Synchrony needs websockets for the two way communication. It'll try on /synchrony first if your reverse proxy is configured to support the upgrade. Then //synchrony-proxy and finally if the property is set it will fallback to XHR.

     

     

    If your LTM is using an HTTP profile and it's less than 11.4.0, you'll need to not use the HTTP profile. 11.4.0 is when F5 added the websocket support, see: https://devcentral.f5.com/articles/load-balancing-websockets

     

  • Hi, Has anyone find an solution for this issue. we recently upgraded our confluence from 5.9.8 to 6.8 and experiencing the issues with Collaborative editing as updated by the other users above. Is there any alternative solution to get it work with F5 Load Balancer.

     

    Regards, Sunil.

     

    • Dave_Hergert's avatar
      Dave_Hergert
      Icon for Nimbostratus rankNimbostratus

      Sunil - I made a comment on this post a couple weeks ago with a successful implementation of the F5 LTM for synchrony, where I described our configuration. Its understandable you could not see it, the F5 DevCentral answer/comment/threading system is less than optimal.

       

      I will delete the comment and convert it to an Answer below. You may want to also delete your post as its technically not an Answer. :)

       

    • Sunil_Dhatla_36's avatar
      Sunil_Dhatla_36
      Icon for Nimbostratus rankNimbostratus

      Hi David, Thanks for the update. I agree with you, as I didn't had an option to comment I updated in Answers section. I am looking for little help here. Would it be possible to get connected with personal email ID (sunilreddy.d@gmail.com). Regards, Sunil.

       

    • Sunil_Dhatla_36's avatar
      Sunil_Dhatla_36
      Icon for Nimbostratus rankNimbostratus

      Hi, Do we need to do any further configuration in Application (Confluence) side? Can you help us with providing more details. Regards, Sunil.

       

  • So we were finally able to get it working, but we ended up separating it out into its own virtual server and DNS URL, even though they both route to the same backend hosts on different ports.

    wiki.company.com:443       -> confluence_pool:8090
    synchrony.company.com:443  -> confluence_pool:8091
    

    Here is our synchrony VS/POOL config. No iRules, to persistent profile. Just SSL on the client said, plaintext on the server side. Load balancing method round robin. You need to make sure the HTTP profile is applied to the VS so that upgrading connections to web sockets are supported out of the box.

     VS 
    ltm virtual vs-wiki-synchrony-443 {
        description "Confluence Synchrony VIP"
        destination 10.10.10.10:443
        ip-protocol tcp
        mask 255.255.255.255
        pool pool-wiki-synchrony-8091
        profiles {
            HTTP-X-Forwarded { }           inherits from HTTP
            clientsslpf_ssl {
                context clientside
            }
            tcp { }
        }
        source 0.0.0.0/0
        source-address-translation {
            type automap
        }
        vs-index 65
    }
    
     POOL 
    ltm pool pool-wiki-synchrony-8091 {
        members {
            confluence_node1:8091 {
                address 10.10.10.1
                session monitor-enabled
                state up
            }
            confluence_node2:8091 {
                address 10.10.10.2
                session monitor-enabled
                state up
            }
        }
        monitor gateway_icmp and tcp_half_open
    }
    
  • Hi David, Thanks a lot for providing quick update Unfortunately I didn't get it working. Do we need to configure anything in Confluence server. We have it installed in the server and configured in F5 as per your suggestion.

     

    Regards, Sunil.