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

Hitting the base Content API endpoint can cause performance problem for large instances

XMLWordPrintable

      Summary

      The content API endpoint is available to retrieve content from a Confluence instance. While most users pass arguments that help to filter down to specific pieces of content, it is possible to hit the generic endpoint which fetches the entire contents of a given Confluence instance. When this happens, the threads that are tasked to run the operation can run longer than expected, especially with larger Confluence instances. In addition, this is especially true for calls to this endpoint that are made anonymously (as the endpoint contains the @AnonymousAllowed designation) and a Confluence instance is not set up for anonymous access. When this occurs, the operation can still run for a longer than expected time and may ultimately return an empty set to the user.

      Environment

      • Confluence

      Steps to Reproduce

      1. Fill a Confluence with several hundred thousand -> million pages
      2. run the following command curl -X GET http://<baseURL>/rest/api/content | python -mjson.tool

      Expected Results

      1. the operation will run and will not impact performance on the instance

      Actual Results

      1. the operation can be expensive and cause performance to degrade

      Workaround

      Confluence 7.18 and later

      Use http://<baseURL>/rest/api/content/scan instead. Examples how to use endpoint could be found at the page Confluence REST API examples

      Older versions

      Prevent calls to the base end point via networking/proxy rules

              03cb0c04aa4f Irina Tiapchenko
              nlopez@atlassian.com Nancy Lopez
              Votes:
              8 Vote for this issue
              Watchers:
              29 Start watching this issue

                Created:
                Updated:
                Resolved: