-
Bug
-
Resolution: Fixed
-
Medium
-
8.20.10, 9.4.15, 9.7.1, 9.8.0, 9.12.4
-
None
-
8.2
-
7
-
Severity 3 - Minor
-
0
-
Issue Summary
This is reproducible on Data Center: Yes
We have about 24000 users in user management. When we clicked the User Management section under Administration, it waited more than 1 minute. After that, the User Management section opens but then we try to filter the Application access type as Jira Software, which is waiting more than 1 minute.
Steps to Reproduce
- Go to user management
- Filter users by Application access
Expected Results
Users filtered by a given filter will load in a matter of seconds.
Actual Results
It can take a very long time to load users.
When using other than the All Users option in the Application access filter, Jira goes through the cache on request, meaning it creates SQL query for each user to filter them.
The relevant part of the stack trace:
at com.atlassian.jira.user.JiraCrowdService.search(JiraCrowdService.java:47) at com.atlassian.jira.security.groups.DefaultGroupManager.getGroupsForUser(DefaultGroupManager.java:393) at com.atlassian.jira.security.groups.RequestCachingGroupManager.lambda$new$0(RequestCachingGroupManager.java:43) at com.atlassian.jira.security.groups.RequestCachingGroupManager$$Lambda$460/0x00000008007f7840.load(Unknown Source) at com.atlassian.jira.cache.request.RequestCacheImpl.get(RequestCacheImpl.java:59) at com.atlassian.jira.security.groups.RequestCachingGroupManager.lambda$new$1(RequestCachingGroupManager.java:46) at com.atlassian.jira.security.groups.RequestCachingGroupManager$$Lambda$461/0x00000008007f7c40.load(Unknown Source) at com.atlassian.jira.cache.request.RequestCacheImpl.get(RequestCacheImpl.java:59) at com.atlassian.jira.security.groups.RequestCachingGroupManager.lambda$new$2(RequestCachingGroupManager.java:51) at com.atlassian.jira.security.groups.RequestCachingGroupManager$$Lambda$462/0x00000008007f7040.load(Unknown Source) at com.atlassian.jira.cache.request.RequestCacheImpl.get(RequestCacheImpl.java:59) at com.atlassian.jira.security.groups.RequestCachingGroupManager.isUserInGroup(RequestCachingGroupManager.java:96) at com.atlassian.jira.security.groups.RequestCachingGroupManager.isUserInGroup(RequestCachingGroupManager.java:105) at com.atlassian.jira.application.DefaultApplicationRoleManager.lambda$userHasRole$21(DefaultApplicationRoleManager.java:875) at com.atlassian.jira.application.DefaultApplicationRoleManager$$Lambda$3562/0x0000000803c1b840.test(Unknown Source) at java.util.stream.MatchOps$1MatchSink.accept(java.base@11.0.13/Unknown Source) at java.util.Spliterators$ArraySpliterator.tryAdvance(java.base@11.0.13/Unknown Source) at java.util.stream.ReferencePipeline.forEachWithCancel(java.base@11.0.13/Unknown Source) at java.util.stream.AbstractPipeline.copyIntoWithCancel(java.base@11.0.13/Unknown Source) at java.util.stream.AbstractPipeline.copyInto(java.base@11.0.13/Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@11.0.13/Unknown Source) at java.util.stream.MatchOps$MatchOp.evaluateSequential(java.base@11.0.13/Unknown Source) at java.util.stream.MatchOps$MatchOp.evaluateSequential(java.base@11.0.13/Unknown Source) at java.util.stream.AbstractPipeline.evaluate(java.base@11.0.13/Unknown Source) at java.util.stream.ReferencePipeline.anyMatch(java.base@11.0.13/Unknown Source) at com.atlassian.jira.application.DefaultApplicationRoleManager.userHasRole(DefaultApplicationRoleManager.java:875) at com.atlassian.jira.application.DefaultApplicationRoleManager.lambda$getRolesForUser$11(DefaultApplicationRoleManager.java:453) at com.atlassian.jira.application.DefaultApplicationRoleManager$$Lambda$3561/0x0000000803c1b440.test(Unknown Source) at java.util.stream.ReferencePipeline$2$1.accept(java.base@11.0.13/Unknown Source) at java.util.HashMap$KeySpliterator.forEachRemaining(java.base@11.0.13/Unknown Source) at java.util.stream.AbstractPipeline.copyInto(java.base@11.0.13/Unknown Source) at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@11.0.13/Unknown Source) at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(java.base@11.0.13/Unknown Source) at java.util.stream.AbstractPipeline.evaluate(java.base@11.0.13/Unknown Source) at java.util.stream.ReferencePipeline.collect(java.base@11.0.13/Unknown Source) at com.atlassian.jira.application.DefaultApplicationRoleManager.getRolesForUser(DefaultApplicationRoleManager.java:453) at com.atlassian.jira.application.DefaultApplicationRoleManager.getOccupiedLicenseRolesForUser(DefaultApplicationRoleManager.java:460) at com.atlassian.jira.application.DefaultApplicationRoleManager.userOccupiesRole(DefaultApplicationRoleManager.java:385) <CUT> at com.atlassian.jira.web.bean.UserBrowserFilter.includeBasedOnApplicationAccess(UserBrowserFilter.java:203) <CUT> at com.atlassian.jira.web.bean.UserBrowserFilter.getFilteredUsers(UserBrowserFilter.java:137) at com.atlassian.jira.web.action.admin.user.UserBrowser.getBrowsableItems(UserBrowser.java:176) at com.atlassian.jira.web.action.admin.user.UserBrowser.doExecute(UserBrowser.java:128)
Workaround
Currently, there is no known workaround for this behavior. A workaround will be added here when available
- duplicates
-
JSWSERVER-21588 Jira user browser is slow when filtering on a group with large memberships
-
- Closed
-
- mentioned in
-
Page Loading...
- relates to
-
JDCWUMAL-8 Loading...