Uploaded image for project: 'Migration Platform'
  1. Migration Platform
  2. MIG-2067

CCMA plugin causes delays in Confluence when Internet access is restricted

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • CCMA - 3.11.12
    • CCMA - 3.9.8, CCMA - 3.10.4, CCMA - 3.10.10, CCMA - 3.11.4, CCMA - 3.11.9
    • None
    • 15
    • Severity 3 - Minor
    • 53

      Issue Summary

      This is reproducible on Data Center: yes

      Steps to Reproduce

      1. Install Confluence 8.5.16 + CCMA 3.10.10
      2. Install several 3rd party plugins, for example, the ones listed below:
        Adaptavist ScriptRunner for Confluence 
        Advanced Tables for Confluence 
        Better Content Archiving for Confluence
        Comala Document Management
        Composition 
        Content Formatting for Confluence 
        glean_search 
        Gliffy Diagrams for Confluence 
        Lucidchart Plugin 
        Multiexcerpt Plugin 
        Numbered Headings 
        Scaffolding
        
      3. Restrict internet access in your Confluence instance. (If testing in your laptop, just disconnect your WiFi)
      4. Browse to General Configuration > Migration Assistant, the see if the Apps count spins endlessly
      5. Open a new incognito tab, log into Confluence, and browse through different pages and admin pages. There will be substantial delays while those pages load. 

      Expected Results

      Accessing "Migration Assistant" home page causes no impact in Confluence

      Actual Results

      On the "Migration Assistant" home page, an error message states, "We can't communicate with your server", and the Apps counter spins endlessly. 

      Besides this, there are noticeable delays in Confluence, ranging from 10 seconds to 45 seconds or higher, depending on the action executed or page accessed. 

      Collecting ThreadDumps, it can be noticed that CCMA "hangs" in the ForkJoin Pool stack trace. Core Confluence View Page threads then appear to also go through the ForkJoin code path and get blocked

      "ForkJoinPool.commonPool-worker-27" #888 daemon prio=5 os_prio=0 cpu=13.75ms elapsed=554.49s tid=0x0000fffdc4f2a3b0 nid=0x1784 waiting on condition  [0x0000ffff37a0b000]
         java.lang.Thread.State: WAITING (parking)
              at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
              - parking to wait for  <0x00000000d556dac8> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
              at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:211)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(java.base@17.0.12/AbstractQueuedSynchronizer.java:715)
              at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(java.base@17.0.12/AbstractQueuedSynchronizer.java:1027)
              at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(java.base@17.0.12/ReentrantReadWriteLock.java:738)
              at net.sf.ehcache.concurrent.ReadWriteLockSync.lock(ReadWriteLockSync.java:50)
              at net.sf.ehcache.constructs.blocking.BlockingCache.acquiredLockForKey(BlockingCache.java:196)
              at net.sf.ehcache.constructs.blocking.BlockingCache.get(BlockingCache.java:158)
              at com.atlassian.cache.ehcache.LoadingCache.get(LoadingCache.java:120)
              at com.atlassian.cache.ehcache.DelegatingCache.get(DelegatingCache.java:107)
              at com.atlassian.cache.impl.metrics.InstrumentedCache.get(InstrumentedCache.java:72)
              at com.atlassian.confluence.cache.ehcache.DefaultConfluenceEhCache.get(DefaultConfluenceEhCache.java:39)
              at com.atlassian.migration.agent.service.impl.MigrationAppAggregatorService.validateAndReloadApplist(MigrationAppAggregatorService.java:233)
              at com.atlassian.migration.agent.service.impl.MigrationAppAggregatorService.isBlacklisted(MigrationAppAggregatorService.java:141)
              at com.atlassian.migration.agent.service.app.PluginManager.lambda$getActualUserInstalledPlugins$0(PluginManager.java:33)
              at com.atlassian.migration.agent.service.app.PluginManager$$Lambda$5044/0x0000000804619e78.test(Unknown Source)
              at java.util.stream.ReferencePipeline$2$1.accept(java.base@17.0.12/ReferencePipeline.java:178)
              at java.util.stream.ReferencePipeline$2$1.accept(java.base@17.0.12/ReferencePipeline.java:179)
              at java.util.HashMap$ValueSpliterator.forEachRemaining(java.base@17.0.12/HashMap.java:1779)
              at java.util.stream.AbstractPipeline.copyInto(java.base@17.0.12/AbstractPipeline.java:509)
              at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@17.0.12/AbstractPipeline.java:499)
              at java.util.stream.ReduceOps$ReduceTask.doLeaf(java.base@17.0.12/ReduceOps.java:960)
              at java.util.stream.ReduceOps$ReduceTask.doLeaf(java.base@17.0.12/ReduceOps.java:934)
              at java.util.stream.AbstractTask.compute(java.base@17.0.12/AbstractTask.java:327)
              at java.util.concurrent.CountedCompleter.exec(java.base@17.0.12/CountedCompleter.java:754)
              at java.util.concurrent.ForkJoinTask.doExec(java.base@17.0.12/ForkJoinTask.java:373)
              at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(java.base@17.0.12/ForkJoinPool.java:1182)
              at java.util.concurrent.ForkJoinPool.scan(java.base@17.0.12/ForkJoinPool.java:1655)
              at java.util.concurrent.ForkJoinPool.runWorker(java.base@17.0.12/ForkJoinPool.java:1622)
              at java.util.concurrent.ForkJoinWorkerThread.run(java.base@17.0.12/ForkJoinWorkerThread.java:165)
      

      The below exception is thrown in the atlassian-confluence-migrations.log file:

      2024-10-23 08:40:47,344 INFO [pool-22-thread-1] [agent.service.featureflag.Fx3OkhttpAdapter] post Fx3Client couldn't fetch feature flags from LD. Message : api.atlassian.com: Name or service not known
      2024-10-23 08:40:47,346 INFO [pool-22-thread-1] [agent.service.featureflag.Fx3OkhttpAdapter] post Fx3Client couldn't fetch feature flags from LD. Message : api.atlassian.com
      2024-10-23 08:40:47,985 INFO [pool-25-thread-1] [agent.service.featureflag.Fx3OkhttpAdapter] post Fx3Client couldn't fetch feature flags from LD. Message : api.atlassian-us-gov-mod.com: Name or service not known
      2024-10-23 08:40:47,986 INFO [pool-25-thread-1] [agent.service.featureflag.Fx3OkhttpAdapter] post Fx3Client couldn't fetch feature flags from LD. Message : api.atlassian-us-gov-mod.com 

      Workaround

      The only workaround at this moment is not to restrict Internet access in your Confluence environment and/or disable the "Confluence Cloud Migration Assistant" to avoid any performance impact when accessing "Migration Assistant" home page. 

      When disabled, the "Migration Assistant" option will not be available in the configurations menu. 

              cd592fe0aaad Alan Ooi
              d8a006ac9dc7 Iker Alonso (Inactive)
              Votes:
              7 Vote for this issue
              Watchers:
              24 Start watching this issue

                Created:
                Updated:
                Resolved: