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

Confluence DC non-clustered instance does not respect -Dsynchrony.service.url.

      Issue Summary

      Confluence DC non-clustered instance does not respect -Dsynchrony.service.url and starts a managed synchrony process listening on port 127.0.0.1 port 8091 instead of connecting to external synchrony process.

      This is reproducible on Data Center: Yes

      Steps to Reproduce

      1. Setup a Confluence DC non-clustered instance.
      2. Create a standalone synchrony instance using the following documentation.
      3. Add -Dsynchrony.service.url=http://<synchrony-load-balancer-url>/synchrony/v1 in the Confluence DC non-clustered instance using Configuring System Properties documentation pointing it to the standalone synchrony instance created above.
      4. Or Deploy a non-clustered Confluence DC instance using the Atlassian DC helm charts. The confluence.clustering.enable should be false.

      Expected Results

      In the Collaborative Editing screen, you will notice Confluence connecting to the external synchrony process, showing the Synchrony URL, and not starting the managed synchrony process locally to listen on ports 8091 and 127.0.0.1.

      Actual Results

      In the Collaborative Editing screen, Confluence connects to the managed synchrony process locally to listen on port 8091 and address 127.0.0.1. In the atlassian-confluence.log, you will notice it has -Dsynchrony.service.url, but Confluence still starts a managed synchrony process.

      2024-08-08 15:12:47,383 INFO [Catalina-utility-1] [com.atlassian.confluence.lifecycle] contextInitialized Using JVM argument -Dsynchrony.service.url=https://<confluence-dns>/synchrony/v1
      2024-08-08 15:12:47,383 INFO [Catalina-utility-1] [com.atlassian.confluence.lifecycle] contextInitialized Using JVM argument -Dsynchrony.by.default.enable.collab.editing.if.manually.managed=true
      
      2024-08-08 15:00:05,616 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.SynchronyEnvironmentBuilder] isSynchronyProxyEnabled proxy port present: true
      2024-08-08 15:00:05,669 INFO [lifecycle:thread-23] [db.internal.dao.QDSLRateLimitingSettingsVersionDao] incrementSettingsVersion No settings version record in the database for DEFAULT, inserting...
      2024-08-08 15:00:05,774 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.SynchronyProcessBuilder] debugPrintEnvironment Synchrony working dir: /var/atlassian/application-data/confluence
      2024-08-08 15:00:05,774 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.SynchronyProcessBuilder] debugPrintEnvironment Synchrony command line: /opt/java/openjdk/bin/java -classpath /opt/atlassian/confluence/temp/5.1.9.jar:/opt/atlassian/confluence/confluence/WEB-INF/lib/org.postgresql_postgresql-42.5.3.jar -Xss2048k -Xmx2g synchrony.core sql
      2024-08-08 15:00:05,775 INFO [Caesium-1-1] [ratelimiting.internal.configuration.ConfigurationLoggerJob] logConfiguration Periodic rate limiting configuration log. System rate limiting settings: [SystemRateLimitingSettings(mode=OFF, bucketSettings=TokenBucketSettings(capacity=50, fillRate=10, intervalFrequency=1, intervalTimeUnit=Seconds), jobControlSettings=SystemJobControlSettings(reportingDbArchivingJobFrequencyDuration=PT1M10S, reportingDbRetentionPeriodDuration=PT24H, bucketCollectionJobFrequencyDuration=PT5M, bucketCleanupJobFrequencyDuration=PT15M, settingsReloadJobFrequencyDuration=PT1M))]
      2024-08-08 15:00:05,779 WARN [MpacApplicationCacheManager:thread-1] [atlassian.upm.pac.MpacApplicationCacheManager] fetchMpacAppInfo Error when querying application info from MPAC: com.atlassian.marketplace.client.MpacException: java.net.UnknownHostException: proxy.example.org
       -- url: /confluence/setup/setupdata.action | userName: anonymous | action: setupdata | referer: https://<confluence-dns>/confluence/setup/setupdata-start.action | traceId: c97ac8025010df98
      2024-08-08 15:00:06,038 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] updateSynchronyConfiguration Synchrony External Base URL: https://<confluence-dns>/synchrony,https://<confluence-dns>/confluence/synchrony-proxy
      2024-08-08 15:00:06,042 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] updateSynchronyConfiguration Synchrony External Service URL: https://<confluence-dns>/synchrony/v1
      2024-08-08 15:00:06,051 INFO [synchrony-interop-executor:thread-1] [plugins.synchrony.bootstrap.DefaultSynchronyProcessManager] updateSynchronyConfiguration Synchrony Internal Service URL: http://127.0.0.1:8091/synchrony/v1
      

      Notes:

      • In a Kubernetes Confluence DC non-clustered instance, the Collaborative editing screen will show Synchrony status as Error, but Collaborative editing will work fine when the outbound proxy is used. Without the Outbound proxy, the Collaborative editing screen will show the Synchrony status as Running but with incorrect Synchrony Configuration. The requests for https://<confluence-dns>/synchrony will be routed to the external synchrony pod by the ingress resource for processing.
      • In a Non-Kubernetes Confluence DC non-clustered instance, the Collaborative editing screen will show Synchrony status as Running, and Collaborative editing will work fine; however, the incorrect Synchrony Configuration will be displayed, and managed synchrony process will handle the request in place of external synchrony process if Dsynchrony.service.url and the Confluence base url are different and /synchrony route is not properly configured at load balancer level.

      Workaround

      The only workaround is to enable clustering mode, which helps to set the correct synchrony URL via -Dsynchrony.service.url.

            [CONFSERVER-97757] Confluence DC non-clustered instance does not respect -Dsynchrony.service.url.

            Saquia Naz made changes -
            QA Demo Status Original: Not Done [ 14330 ] New: Not Needed [ 14332 ]
            Resolution New: Tracked Elsewhere [ 15 ]
            Status Original: In Review [ 10051 ] New: Closed [ 6 ]
            Saquia Naz made changes -
            QA Kickoff Status Original: Not Done [ 14234 ] New: Not Needed [ 14236 ]
            Status Original: In Progress [ 3 ] New: In Review [ 10051 ]
            Engineering Taxonomy Bot made changes -
            Labels New: ewt-rtb-service-operations-and-tech-entropy
            Saquia Naz made changes -
            Status Original: Gathering Impact [ 12072 ] New: In Progress [ 3 ]
            Saquia Naz made changes -
            Assignee New: Saquia Naz [ 05a8667aef42 ]
            Niraj Bhawnani made changes -
            Status Original: Needs Triage [ 10030 ] New: Gathering Impact [ 12072 ]
            Ojas Potdar made changes -
            Security Original: Reporter and Atlassian Staff [ 10751 ]
            Ojas Potdar made changes -
            Link New: This issue depends on CONFSRVDEV-33285 [ CONFSRVDEV-33285 ]
            SET Analytics Bot made changes -
            Support reference count New: 1
            Ojas Potdar made changes -
            Affects Version/s New: 8.5.4 [ 106320 ]

              05a8667aef42 Saquia Naz
              14e5536372e2 Ojas Potdar
              Affected customers:
              2 This affects my team
              Watchers:
              7 Start watching this issue

                Created:
                Updated:
                Resolved: