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

Favourite filters REST Resource is needlessly retrieving associated share users

XMLWordPrintable

      This stacktrace:

      "http-bio-8080-exec-744" daemon prio=3 tid=0x000000000b14d800 nid=0x1ec6 runnable [0xfffffd73c30f4000]
        java.lang.Thread.State: RUNNABLE
      at java.lang.String.toLowerCase(String.java:2420)
      at com.atlassian.crowd.embedded.impl.IdentifierUtils.toLowerCase(IdentifierUtils.java:42)
      at com.atlassian.crowd.embedded.impl.IdentifierUtils.compareToInLowerCase(IdentifierUtils.java:56)
      at com.atlassian.crowd.embedded.impl.IdentifierUtils.equalsInLowerCase(IdentifierUtils.java:76)
      at com.atlassian.crowd.embedded.api.UserComparator.equal(UserComparator.java:74)
      at com.atlassian.jira.crowd.embedded.ofbiz.OfBizUser.equals(OfBizUser.java:127)
      at com.google.common.collect.ImmutableSet.construct(ImmutableSet.java:180)
      at com.google.common.collect.ImmutableSet.copyFromCollection(ImmutableSet.java:361)
      at com.google.common.collect.ImmutableSet.copyOf(ImmutableSet.java:345)
      at com.google.common.collect.ImmutableSet$Builder.build(ImmutableSet.java:643)
      at com.atlassian.jira.rest.v2.search.UserListResolver.getShareUsers(UserListResolver.java:101)
      at com.atlassian.jira.rest.v2.search.FilterBeanBuilder.build(FilterBeanBuilder.java:164)
      at com.atlassian.jira.rest.v2.search.FilterResource$SearchRequestToFilterBean.apply(FilterResource.java:658)
      at com.atlassian.jira.rest.v2.search.FilterResource$SearchRequestToFilterBean.apply(FilterResource.java:630)
      at com.google.common.collect.Iterators$8.next(Iterators.java:782)
      at com.google.common.collect.Lists.newArrayList(Lists.java:139)
      at com.google.common.collect.Lists.newArrayList(Lists.java:119)
      at com.atlassian.jira.rest.v2.search.FilterResource.getFavouriteFilters(FilterResource.java:430)
      at sun.reflect.GeneratedMethodAccessor1182.invoke(Unknown Source)
      
      

      It appears that a global filter inadvertently retrieves the share users – getShareUsers – when it doesn't need to.

      This can be an expensive operation if you have tens or hundreds of thousands of users.

              ohernandez@atlassian.com Oswaldo Hernandez (Inactive)
              jlargman Jeremy Largman
              Votes:
              1 Vote for this issue
              Watchers:
              10 Start watching this issue

                Created:
                Updated:
                Resolved: