Uploaded image for project: 'Jira Data Center'
  1. Jira Data Center
  2. JRASERVER-11769

Separate Profiling and Error filters to support WebLogic and Orion

    XMLWordPrintable

Details

    Description

      In JIRA 3.7 some javascript functionality will not work in WebLogic and Orion because these App servers apply the servlet filters to normal requests and request forwards. The filter that can cause trouble when applied to request forwards is ProfilingAndErrorFilter.
      The problem is that the filter is trying to do too much.
      The "profiling" part of the filter enables profiling stack if profiling is enabled.
      The "error" part sets up and clears a various thread locals.
      In JIRA 3.7 we use the thread locals to record what javascript files to serve in the request. However if there is a request forward during the request the thread local is cleared and the knowledge of which javascript files must be served is lost.
      The thread local code needs to be taken out into a separate filter which is mapped to all URLS /*. The error filter needs to record a flag in the request object to record if it has been applied to the request already and if so do not do any work. We already use this approach in com.atlassian.jira.web.filters.gzip.GzipFilter

      Attachments

        Activity

          People

            dylan@atlassian.com Dylan Etkin [Atlassian]
            anton@atlassian.com AntonA
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: