Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
8.5.4, 7.13.13
-
7.13
-
9
-
Severity 3 - Minor
-
1
-
Description
Issue Summary
When accessing a saved filter with a search like "mylabels in(EMPTY)" where "mylabels" is a Labels type custom field, although the search works and the user is able to save the filter, returning to it afterward will return a 500 error.
If this filter is used by an Agile Board, the filter can't be edited.
This can be an intermittent behavior.
Steps to Reproduce
- Create a new custom field of "Labels" type and name it "mylabels"
- Do a search for "mylabels in(EMPTY)"
- Save it as a new filter
- Navigate to "Manage Filters"
- Click on the saved filter
Expected Results
The filter and results are shown
Actual Results
500 Error page with the following error is shown:
"Sorry, we had some technical problems during your last operation."
The below exception is thrown in the "atlassian-jira.log" file:
ERROR diegovb 1194x494x1 4z69ol 0:0:0:0:0:0:0:1 /issues/ [o.a.c.c.C.[.[localhost].[/j854].[action]] Servlet.service() for servlet [action] threw exception java.lang.ClassCastException: com.atlassian.query.operand.EmptyOperand cannot be cast to com.atlassian.query.operand.SingleValueOperand at com.atlassian.jira.issue.search.searchers.transformer.CustomFieldLabelsSearchInputTransformer.getOperandValue(CustomFieldLabelsSearchInputTransformer.java:116) at com.atlassian.jira.issue.search.searchers.transformer.CustomFieldLabelsSearchInputTransformer.getQueryInputPlaceHolder(CustomFieldLabelsSearchInputTransformer.java:100) at com.atlassian.jira.issue.search.searchers.transformer.CustomFieldLabelsSearchInputTransformer.doRelevantClausesFitFilterForm(CustomFieldLabelsSearchInputTransformer.java:78) at com.atlassian.jira.bc.issue.search.DefaultSearchService.calculateDoesQueryFitFilterForm(DefaultSearchService.java:370) at com.atlassian.jira.bc.issue.search.DefaultSearchService.doesQueryFitFilterForm(DefaultSearchService.java:108) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.plugin.util.ContextClassLoaderSettingInvocationHandler.invoke(ContextClassLoaderSettingInvocationHandler.java:26) at com.sun.proxy.$Proxy374.doesQueryFitFilterForm(Unknown Source) ... 2 filtered at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56) at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70) at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:136) at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:124) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:185) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:212) at com.sun.proxy.$Proxy3116.doesQueryFitFilterForm(Unknown Source) at com.atlassian.jira.components.query.DefaultSearcherService.searchWithJql(DefaultSearcherService.java:152) ... 3 filtered
It also happens when adding other values to the search "mylabels in (test, otherlabel, EMPTY)"
The problem does not happen when searching for "mylabels is EMPTY"
It also does not happen with the default "labels" field
Workaround
The filter can be accessed when it is displayed on the Favourites bar on the left.
To fix the filter do:
- Go to Manage Filter
- Search for the filter that can be viewed
- Add it to your favorites by adding a star to it
- Click on any other filter that can be viewed correctly.
- Click the name of the filter now showing on the left panel as a favorite.
- Remove the "EMPTY" search and hit Enter to search.
- Save the filter