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

Unable to load Favorite Filter when it's shared with deleted group

XMLWordPrintable

      NOTE: This bug report is for JIRA Server. Using JIRA Cloud? See the corresponding bug report.

      Summary

      Getting Failed to retrieve favorite filters from server message on Issue Navigator when one of the filters is shared with a deleted group.
      The endpoint /rest/api/2/filter/favourite/ and the filter endpoint /rest/api/2/filter/<filter_id>?expand returns

      {"errorMessages":["Internal server error"],"errors":{}}
      

      Also getting: popup message if the dashboard uses the Favourite filters

      Steps to reproduce

      1. Create a test group and have a user in it
      2. Create a test filter (it will be added as favourite automatically)
      3. Go to Manage Filter and share that filter with test group
      4. Delete the test group
      5. Open the test filter or go to Issue Navigator

      Current Result

      • The Favorite Filters are not displayed, instead we see an error of
        Failed to retrieve favorite filters from server
        
      • and the JQL search menu (advanced or basic) is completely missing from the page.

      Expected Result

      The Favorite Filters and the JQL search menu are displayed.

      Workaround

      Remove the deleted group from the filter (Manage Filter -> select the affected fitler -> Edit -> Remove the group)

      Logs

      @400000005681563118bb237c 2015-12-28 21:02:55,409 http-nio-2990-exec-199 ERROR 1262x144829x1 1hdisle 46.243.25.78,165.254.227.17,127.0.0.1 /rest/api/2/filter/favourite [c.a.j.rest.exception.ExceptionInterceptor] Returning internal server error in response
      @400000005681563118bb2b4c java.lang.reflect.InvocationTargetException
      @400000005681563118bb2b4c 	at sun.reflect.GeneratedMethodAccessor1591.invoke(Unknown Source)
      @400000005681563118bb2b4c 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      @400000005681563118bb719c 	at java.lang.reflect.Method.invoke(Method.java:497)
      @400000005681563118bb719c 	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$TypeOutInvoker$1.invoke(DispatchProviderHelper.java:205)
      @400000005681563118bb7584 	at com.atlassian.plugins.rest.common.interceptor.impl.DispatchProviderHelper$1.intercept(DispatchProviderHelper.java:100)
      @400000005681563118bb7584 	... 3 filtered
      @400000005681563118bb7d54 	at com.atlassian.jira.rest.exception.ExceptionInterceptor.intercept(ExceptionInterceptor.java:55)
      @400000005681563118bb7d54 	... 1 filtered
      @400000005681563118bb7d54 	at com.atlassian.jira.rest.v2.issue.scope.RequestScopeInterceptor.intercept(RequestScopeInterceptor.java:39)
      @400000005681563118bb813c 	... 15 filtered
      @400000005681563118bb813c 	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter$JerseyOsgiServletContainer.doFilter(RestDelegatingServletFilter.java:178)
      @400000005681563118bb8cf4 	... 1 filtered
      @400000005681563118bb8cf4 	at com.atlassian.plugins.rest.module.RestDelegatingServletFilter.doFilter(RestDelegatingServletFilter.java:73)
      @400000005681563118bb90dc 	... 61 filtered
      @400000005681563118bb90dc 	at com.atlassian.jira.plugins.rest.HOT25715FixServletFilter.doFilter(HOT25715FixServletFilter.java:46)
      @400000005681563118bb94c4 	... 25 filtered
      @400000005681563118bb98ac 	at com.atlassian.plugin.connect.plugin.auth.scope.ApiScopingFilter.doFilter(ApiScopingFilter.java:89)
      @400000005681563118bb98ac 	... 15 filtered
      @400000005681563118bb98ac 	at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:70)
      @400000005681563118bb9c94 	... 15 filtered
      @400000005681563118bb9c94 	at com.atlassian.plugins.rest.module.servlet.RestSeraphFilter.doFilter(RestSeraphFilter.java:40)
      @400000005681563118bba07c 	... 31 filtered
      @400000005681563118bba464 	at com.atlassian.plugin.connect.plugin.auth.user.ThreeLeggedAuthFilter.doFilter(ThreeLeggedAuthFilter.java:122)
      @400000005681563118bba464 	... 3 filtered
      @400000005681563118bba464 	at com.atlassian.plugin.connect.plugin.auth.oauth.OAuth2LOFilter.doFilter(OAuth2LOFilter.java:82)
      @400000005681563118bba84c 	... 3 filtered
      @400000005681563118bbac34 	at com.atlassian.jwt.internal.servlet.JwtAuthFilter.doFilter(JwtAuthFilter.java:31)
      @400000005681563118bbb404 	... 54 filtered
      @400000005681563118bbb404 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      @400000005681563118bbb7ec 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      @400000005681563118bbb7ec 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
      @400000005681563118bbb7ec 	at java.lang.Thread.run(Thread.java:745)
      @400000005681563118bbbfbc Caused by: com.atlassian.util.concurrent.LazyReference$InitializationException: java.lang.NullPointerException
      @400000005681563118bbbfbc 	at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:149)
      @400000005681563118bbc3a4 	at com.atlassian.util.concurrent.LazyReference.get(LazyReference.java:112)
      @400000005681563118bbc3a4 	at com.atlassian.jira.rest.v2.search.UserListResolver.getShareUsers(UserListResolver.java:111)
      @400000005681563118bbcb74 	at com.atlassian.jira.rest.v2.search.UserListResolver.getShareCount(UserListResolver.java:125)
      @400000005681563118bbcb74 	at com.atlassian.jira.rest.v2.search.UserBeanListWrapper.<init>(UserBeanListWrapper.java:33)
      @400000005681563118bbcf5c 	at com.atlassian.jira.rest.v2.search.FilterResource$SearchRequestToFilterBean.apply(FilterResource.java:658)
      @400000005681563118bbd72c 	at com.atlassian.jira.rest.v2.search.FilterResource$SearchRequestToFilterBean.apply(FilterResource.java:630)
      @400000005681563118bbdb14 	at com.google.common.collect.Iterators$8.transform(Iterators.java:799)
      @400000005681563118bbdb14 	at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:48)
      @400000005681563118bbdefc 	at com.google.common.collect.Iterators.addAll(Iterators.java:362)
      @400000005681563118bbdefc 	at com.google.common.collect.Lists.newArrayList(Lists.java:160)
      @400000005681563118bbee9c 	at com.google.common.collect.Lists.newArrayList(Lists.java:144)
      @400000005681563118bbee9c 	at com.atlassian.jira.rest.v2.search.FilterResource.getFavouriteFilters(FilterResource.java:363)
      @400000005681563118bbee9c 	... 247 more
      @400000005681563118bbf284 Caused by: java.lang.NullPointerException
      @400000005681563118bbf284 	at com.atlassian.jira.security.groups.DefaultGroupManager.getUsersInGroup(DefaultGroupManager.java:192)
      @400000005681563118bbf66c 	at com.atlassian.jira.security.groups.RequestCachingGroupManager.getUsersInGroup(RequestCachingGroupManager.java:133)
      @400000005681563118bbfa54 	at sun.reflect.GeneratedMethodAccessor1093.invoke(Unknown Source)
      @400000005681563118bbfa54 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      @400000005681563118bbfe3c 	at java.lang.reflect.Method.invoke(Method.java:497)
      @400000005681563118bc060c 	at com.sun.proxy.$Proxy395.getUsersInGroup(Unknown Source)
      @400000005681563118bc060c 	... 2 filtered
      @400000005681563118bc060c 	at java.lang.reflect.Method.invoke(Method.java:497)
      @400000005681563118bc09f4 	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
      @400000005681563118bc09f4 	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.doInvoke(ServiceInvoker.java:56)
      @400000005681563118bc11c4 	at org.eclipse.gemini.blueprint.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:60)
      @400000005681563118bc11c4 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      @400000005681563118bc15ac 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
      @400000005681563118bc1d7c 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
      @400000005681563118bc1d7c 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      @400000005681563118bc2164 	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:70)
      @400000005681563118bc2934 	at org.eclipse.gemini.blueprint.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:53)
      @400000005681563118bc2d1c 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      @400000005681563118bc2d1c 	at org.eclipse.gemini.blueprint.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:57)
      @400000005681563118bc34ec 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      @400000005681563118bc34ec 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
      @400000005681563118bc38d4 	at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
      @400000005681563118bc3cbc 	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
      @400000005681563118bc40a4 	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
      @400000005681563118bc40a4 	at com.sun.proxy.$Proxy2710.getUsersInGroup(Unknown Source)
      @400000005681563118bc4c5c 	at com.atlassian.jira.rest.v2.search.UserListResolver.getShareUsersInternal(UserListResolver.java:85)
      @400000005681563118bc5044 	at com.atlassian.jira.rest.v2.search.UserListResolver.access$000(UserListResolver.java:35)
      @400000005681563118bc5044 	at com.atlassian.jira.rest.v2.search.UserListResolver$1.create(UserListResolver.java:54)
      @400000005681563118bc542c 	at com.atlassian.jira.rest.v2.search.UserListResolver$1.create(UserListResolver.java:51)
      @400000005681563118bc63cc 	at com.atlassian.util.concurrent.LazyReference$Sync.run(LazyReference.java:325)
      @400000005681563118bc63cc 	at com.atlassian.util.concurrent.LazyReference.getInterruptibly(LazyReference.java:143)
      

              tkanafa Tomasz Kanafa
              rsaputra Adven
              Votes:
              41 Vote for this issue
              Watchers:
              46 Start watching this issue

                Created:
                Updated:
                Resolved: