Uploaded image for project: 'Confluence'
  1. Confluence
  2. CONF-39746

Content indexing is very slow in Confluence using MySQL 5.5

    Details

    • Sprint:
      The other 23%

      Description

      Summary

      When running Confluence on MySQL 5.5.x, content indexing takes a significant amount of time compared to when running on MySQL 5.6.x

      After running the same 5.5.46 database with the same driver on Confluence 5.8.15, the reindex takes about 5 seconds with the same amount of content.

      Environment

      • Confluence 5.9.1-OD-2015.39.1-0001
      • MySQL 5.5.46

      Steps to Reproduce

      1. Stand up a Confluence 5.9.1-OD-2015.39.1-0001 instance
      2. Fill it with content
      3. Reindex (from scratch or otherwise)

      Expected Results

      In a Confluence 5.9.1-OD-2015.39.1-0001 instance running on MySQL 5.6, indexing from scratch takes about 3 seconds.

      Actual Results

      With this same amount of content (restored from backup) running on MySQL 5.5 the indexing is at 50% after 10 minutes. Each page can take anywhere from 10 seconds to a minute to be indexed.

      We can see multiple threads waiting to run an indexing task:

      "confluence-interactive-reindexing-thread" #312 daemon prio=5 os_prio=0 tid=0x00007fb2d4199000 nid=0x7cee waiting on condition [0x00007fb24a669000]
         java.lang.Thread.State: WAITING (parking)
      	at sun.misc.Unsafe.park(Native Method)
      	- parking to wait for  <0x00000000b8085f18> (a java.util.concurrent.FutureTask)
      	at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
      	at java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
      	at java.util.concurrent.FutureTask.get(FutureTask.java:191)
      	at com.atlassian.confluence.index.ConfluenceReIndexer.indexHandles(ConfluenceReIndexer.java:245)
      	at com.atlassian.confluence.index.ConfluenceReIndexer.lambda$indexType$505(ConfluenceReIndexer.java:205)
      	at com.atlassian.confluence.index.ConfluenceReIndexer$$Lambda$324/610274474.perform(Unknown Source)
      	at com.atlassian.bonnie.LuceneConnection.withWriter(LuceneConnection.java:489)
      	at com.atlassian.confluence.index.ConfluenceReIndexer.indexType(ConfluenceReIndexer.java:197)
      	at com.atlassian.confluence.index.ConfluenceReIndexer.indexAttachments(ConfluenceReIndexer.java:182)
      	at com.atlassian.confluence.index.ConfluenceReIndexer.reIndex(ConfluenceReIndexer.java:128)
      	at com.atlassian.confluence.search.ReIndexTask.run(ReIndexTask.java:43)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at com.atlassian.confluence.tenant.TenantGate$3.call(TenantGate.java:164)
      	at com.atlassian.confluence.search.lucene.DefaultConfluenceIndexManager.lambda$reIndex$390(DefaultConfluenceIndexManager.java:256)
      	at com.atlassian.confluence.search.lucene.DefaultConfluenceIndexManager$$Lambda$210/1075520606.run(Unknown Source)
      	at java.lang.Thread.run(Thread.java:745)
      

      Workaround

      Upgrade MySQL to 5.6

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                18 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Last commented:
                  1 year, 16 weeks, 3 days ago