Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
5.2.11, 6.0.8
-
5.02
-
4
-
Severity 3 - Minor
-
1
-
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.