Uploaded image for project: 'Confluence Data Center'
  1. Confluence Data Center
  2. CONFSERVER-83205

Synchrony ignores synchrony-args.properties copy in local Confluence home in cluster setup

    XMLWordPrintable

Details

    Description

      Problem

      When Confluence is installed in DC mode, user should be able to set Synchrony node specific options by adding these in synchrony-args.properties located in Confluence home.

      Environment

      Confluence DC v8.1.1 running in Docker

      Steps to Reproduce

      1. Create synchrony-args.properties under Confluence home
      2. Add the following option to synchrony-args.properties
        synchrony.jvm.arg.hznode=-Dhazelcast.local.publicAddress=192.168.1.100
        
      3. Start Confluence with the following Docker run command:
        docker run -v /var/atlassian/application-data/confluence:/var/atlassian/application-data/confluence --name="confluence" -v /mnt/shared:/var/atlassian/application-data/confluence/shared-home -d -p 8090:8090 -p 8091:8091 -p 5801:5801 -e JVM_SUPPORT_RECOMMENDED_ARGS='-Dconfluence.cluster.node.name="ConnieNode2" -Dhazelcast.local.publicAddress=10.108.15.252' -p 25500:25500 -p 5701:5701 -p 54327:54327 atlassian/confluence:8.1.1
        
      4. Exec in the docker container and check the Java options for synchrony
        docker exec -it confluence ps -efwww |grep synchrony.core
        

      Expected Results

      Synchrony process is running with hazelcast.local.publicAddress set.

      conflue+   296     7  0 Apr14 ?        00:18:53 /opt/java/openjdk/bin/java -classpath /opt/atlassian/confluence/temp/5.0.5.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/org.postgresql_postgresql-42.5.0.jar -Xss2048k -Xmx2g -Dhazelcast.local.publicAddress=192.168.1.1 synchrony.core sql
      

      Actual Results

      Synchrony process is not running with hazelcast.local.publicAddress set.

      conflue+   296     7  0 Apr14 ?        00:18:53 /opt/java/openjdk/bin/java -classpath /opt/atlassian/confluence/temp/5.0.5.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/org.postgresql_postgresql-42.5.0.jar -Xss2048k -Xmx2g synchrony.core sql
      

      Workaround

      Create a symbolic link for synchrony-args.properties under Confluence shared home:

      1. In each cluster node create a file named synchrony-args.properties with the required options for the Synchrony process in that node
      2. Delete the copy of synchrony-args.properties from Confluence shared home
      3. Create a sym link pointing to synchrony-args.properties copy located in Confluence home under Confluence shared home
        # Below example is based on these conditions:
        # 1. Confluence home is /var/atlassian/application-data/confluence/
        # 2. Confluence shared home is /var/atlassian/application-data/confluence/shared-home
        
        sudo ln -s /var/atlassian/application-data/confluence/synchrony-args.properties /var/atlassian/application-data/confluence/shared-home/synchrony-args.properties
        
        # Required for docker as Confluence user id is set to 2002, change the value 2002 to the appropriate username/userid
        
        sudo chown 2002:2002 /var/atlassian/application-data/confluence/shared-home/synchrony-args.properties
        

      Notes

      Attachments

        Activity

          People

            854eef6f5746 Kusal Kithul-Godage
            63948a2d3746 Marco Salvi
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: