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

Content indexing is very slow in Confluence using MySQL 5.5

      NOTE: This bug report is for Confluence Server. Using Confluence Cloud? See the corresponding bug report.

      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

            [CONFSERVER-39746] Content indexing is very slow in Confluence using MySQL 5.5

            Katherine Yabut made changes -
            Workflow Original: JAC Bug Workflow v3 [ 2892602 ] New: CONFSERVER Bug Workflow v4 [ 3001517 ]
            Owen made changes -
            Workflow Original: JAC Bug Workflow v2 [ 2804586 ] New: JAC Bug Workflow v3 [ 2892602 ]
            Status Original: Resolved [ 5 ] New: Closed [ 6 ]
            Owen made changes -
            Workflow Original: JAC Bug Workflow [ 2736751 ] New: JAC Bug Workflow v2 [ 2804586 ]
            Owen made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2391379 ] New: JAC Bug Workflow [ 2736751 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 [ 2271331 ] New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2391379 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2221534 ] New: Confluence Workflow - Public Facing - Restricted v5 [ 2271331 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2166240 ] New: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2221534 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 [ 1946899 ] New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2166240 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v3 [ 1746466 ] New: Confluence Workflow - Public Facing - Restricted v5 [ 1946899 ]
            jonah (Inactive) made changes -
            Description Original: h3. 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.

            h3. Environment
            * Confluence 5.9.1-OD-2015.39.1-0001
            * MySQL 5.5.46

            h3. Steps to Reproduce
            # Stand up a Confluence 5.9.1-OD-2015.39.1-0001 instance
            # Fill it with content
            # Reindex (from scratch or otherwise)

            h3. 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.

            h3. 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:
            {noformat}
            "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)
            {noformat}

            h3.Workaround
            Upgrade MySQL to 5.6
            New: {panel:bgColor=#e7f4fa}
              *NOTE:* This bug report is for *Confluence Server*. Using *Confluence Cloud*? [See the corresponding bug report|http://jira.atlassian.com/browse/CONFCLOUD-39746].
              {panel}

            h3. 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.

            h3. Environment
            * Confluence 5.9.1-OD-2015.39.1-0001
            * MySQL 5.5.46

            h3. Steps to Reproduce
            # Stand up a Confluence 5.9.1-OD-2015.39.1-0001 instance
            # Fill it with content
            # Reindex (from scratch or otherwise)

            h3. 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.

            h3. 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:
            {noformat}
            "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)
            {noformat}

            h3.Workaround
            Upgrade MySQL to 5.6

              sesther Shaun Esther (Inactive)
              dponzio Daniel Ponzio
              Affected customers:
              0 This affects my team
              Watchers:
              19 Start watching this issue

                Created:
                Updated:
                Resolved: