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

Gzip filter (used for http-compression between client and server) creates very large temporary objects in memory

      From a heap dump we got on an out of memory error, it is quite clear that the GzipFilter is creating very large GzipResponseStream objects. The large part of the GzipResponseStream is its "baos" output stream field. One might expect these streams to be bounded in such a way that they would not be very large, but I had 4 streams over 50MB in size and 1 of those was 100MB.

      The heap dump did not include urls for most of them, but the largest request was to download a large, already compressed, attachment from Confluence. If we cannot set a smaller bound on the size of the GzipResponseStream, we should at least be able to stop using it for downloading already compressed attachments.

      A possible immediate workaround for anybody finding this problem is to remove or modify the gzip filter mapping in the web.xml:

          <filter-mapping>
              <filter-name>gzipFilter</filter-name>
              <url-pattern>/*</url-pattern>
          </filter-mapping>
      

      Such a workaround would likely have other, negative performance side-affects, but they may be preferable.

            [CONFSERVER-9930] Gzip filter (used for http-compression between client and server) creates very large temporary objects in memory

            Katherine Yabut made changes -
            Workflow Original: JAC Bug Workflow v3 [ 2890395 ] New: CONFSERVER Bug Workflow v4 [ 2982711 ]
            Owen made changes -
            Workflow Original: JAC Bug Workflow v2 [ 2803029 ] New: JAC Bug Workflow v3 [ 2890395 ]
            Status Original: Resolved [ 5 ] New: Closed [ 6 ]
            Owen made changes -
            Workflow Original: JAC Bug Workflow [ 2734091 ] New: JAC Bug Workflow v2 [ 2803029 ]
            Owen made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2399499 ] New: JAC Bug Workflow [ 2734091 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 [ 2298139 ] New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2399499 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2233154 ] New: Confluence Workflow - Public Facing - Restricted v5 [ 2298139 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2194024 ] New: Confluence Workflow - Public Facing - Restricted v5.1 - TEMP [ 2233154 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v5 [ 1936056 ] New: Confluence Workflow - Public Facing - Restricted v5 - TEMP [ 2194024 ]
            Katherine Yabut made changes -
            Workflow Original: Confluence Workflow - Public Facing - Restricted v3 [ 1735370 ] New: Confluence Workflow - Public Facing - Restricted v5 [ 1936056 ]
            Katherine Yabut made changes -
            Workflow Original: CONF Bug Subtask WF (TEMP) [ 1694145 ] New: Confluence Workflow - Public Facing - Restricted v3 [ 1735370 ]

              don.willis@atlassian.com Don Willis
              don.willis@atlassian.com Don Willis
              Affected customers:
              1 This affects my team
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved: