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

XMLWordPrintable

    • 1
    • Severity 3 - Minor

      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

            Assignee:
            Kusal Kithul-Godage
            Reporter:
            Marco Salvi
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: