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

Reindexing threads should use shorter transactions

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Fixed
    • 3.5.11
    • Search - Core
    • Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bit Production
    • We collect Confluence feedback from various sources, and we evaluate what we've collected when planning our product roadmap. To understand how this piece of feedback will be reviewed, see our Implementation of New Features Policy.

    Description

      Confluence reindexing currently runs each indexing thread in its own giant transaction, meaning that for large sites there are 10 transactions that run for several hours that require transaction conflict detection & resolution, which may be a performance issue for the DB server.

      On environments where database connection leaks are known to happen, administrators will enable options to enforce a transaction timeout to help the JDBC driver reclaim and close leaked connections. However, indexing threads as they stand will almost always exceed any useful timeout period, and so indexing will never complete.

      This should change so that reindexing runs in a series of much smaller transactions. Smaller transactions will require less time and memory for the DB to validate, but with higher overhead for each extra transaction commit. We will need to investigate whether switching to small transactions affects indexing speed at all, and if so, what the best size is for each indexing transaction.

      Attachments

        Issue Links

          Activity

            People

              richatkins Richard Atkins
              richatkins Richard Atkins
              Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: