-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Low
-
None
-
Affects Version/s: 5.2.11, 6.0.8
-
Component/s: JQL
-
5.02
-
4
-
Severity 3 - Minor
-
0
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.