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

Using "filter !=" could cause performance issue

    XMLWordPrintable

Details

    Description

      When using the keyword "filter" with the "no equals" operator, the search is really slow as the lucene query is not optimized:

      Here is an example by using a simple JQL project = "TERT" saved as a filter call momo:

      2013-09-11 14:36:43,168 http-bio-8090-exec-20 DEBUG admin 876x929x3 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] Creating new CachedWrappedFilterCache
      2013-09-11 14:36:43,180 http-bio-8090-exec-20 DEBUG admin 876x929x3 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL query: {project = "TEST"}
      2013-09-11 14:36:43,180 http-bio-8090-exec-20 DEBUG admin 876x929x3 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL lucene query: projid:10000
      2013-09-11 14:36:43,180 http-bio-8090-exec-20 DEBUG admin 876x929x3 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL sorts: [<custom:"projkey": com.atlassian.jira.issue.search.parameters.lucene.sort.StringSortComparator@4fb78b02>!, <custom:"keynumpart_range": com.atlassian.jira.issue.search.parameters.lucene.sort.StringSortComparator@1b075931>!]
      2013-09-11 14:36:43,180 http-bio-8090-exec-20 DEBUG admin 876x929x3 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] Lucene boolean Query:projid:10000
      
      ======================================================================================================================================================================================
      2013-09-11 14:36:54,708 http-bio-8090-exec-20 DEBUG admin 876x932x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] Creating new CachedWrappedFilterCache
      2013-09-11 14:36:54,718 http-bio-8090-exec-20 DEBUG admin 876x932x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL query: {filter = "momo"}
      2013-09-11 14:36:54,718 http-bio-8090-exec-20 DEBUG admin 876x932x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL lucene query: projid:10000
      2013-09-11 14:36:54,718 http-bio-8090-exec-20 DEBUG admin 876x932x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL sorts: [<custom:"projkey": com.atlassian.jira.issue.search.parameters.lucene.sort.StringSortComparator@741f70ef>!, <custom:"keynumpart_range": com.atlassian.jira.issue.search.parameters.lucene.sort.StringSortComparator@3c2f9678>!]
      2013-09-11 14:36:54,719 http-bio-8090-exec-20 DEBUG admin 876x932x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] Lucene boolean Query:projid:10000
      
      ======================================================================================================================================================================================
      2013-09-11 14:37:09,713 http-bio-8090-exec-20 DEBUG admin 877x935x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] Creating new CachedWrappedFilterCache
      2013-09-11 14:37:09,721 http-bio-8090-exec-20 DEBUG admin 877x935x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL query: {filter != "momo"}
      2013-09-11 14:37:09,721 http-bio-8090-exec-20 DEBUG admin 877x935x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL lucene query: +*:* -projid:10000
      2013-09-11 14:37:09,721 http-bio-8090-exec-20 DEBUG admin 877x935x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL sorts: [<custom:"projkey": com.atlassian.jira.issue.search.parameters.lucene.sort.StringSortComparator@10cb43ae>!, <custom:"keynumpart_range": com.atlassian.jira.issue.search.parameters.lucene.sort.StringSortComparator@10c85d1f>!]
      2013-09-11 14:37:09,721 http-bio-8090-exec-20 DEBUG admin 877x935x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] Lucene boolean Query:+*:* -projid:10000
      
      ======================================================================================================================================================================================
      2013-09-11 14:37:46,073 http-bio-8090-exec-6 DEBUG admin 877x940x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] Creating new CachedWrappedFilterCache
      2013-09-11 14:37:46,079 http-bio-8090-exec-6 DEBUG admin 877x940x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL query: {project != "TEST"}
      2013-09-11 14:37:46,079 http-bio-8090-exec-6 DEBUG admin 877x940x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL lucene query: +nonemptyfieldids:projid -projid:10000 +visiblefieldids:projid
      2013-09-11 14:37:46,079 http-bio-8090-exec-6 DEBUG admin 877x940x1 1ius91j 127.0.0.1 /rest/issueNav/1/issueTable/ [issue.search.providers.LuceneSearchProvider] JQL sorts: [<custom:"projkey": com.atlassian.jira.issue.search.parameters.lucene.sort.StringSortComparator@3f265a83>!, <custom:"keynumpart_range": com.atlassian.jira.issue.search.parameters.lucene.sort.StringSortComparator@6f006ed8>!]
      

      It seems that when using "filter !=" the lucene query will be like :

      JQL lucene query: +*:* -projid:10000
      

      which need to found everything then remove the related project, which will be slow when having a huge number of issues.

      Attachments

        Activity

          People

            Unassigned Unassigned
            yilinmo Yilin (Inactive)
            Votes:
            3 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated: