Uploaded image for project: 'Bitbucket Data Center'
  1. Bitbucket Data Center
  2. BSERV-11884

Filtering users by permission drops users depending on the page size

      Issue Summary

      When retrieving users who have a given permission (such as LICENSED_USER), either via REST (/rest/api/1.0/users) or the Java API (UserService.search with at least one included PermissionRequest on the UserSearchRequest), if the requested page size is greater than half the configured limit, users are dropped.

      By default, the configured limit for users (page.max.users) is 1000. That means requesting a page size greater than 500 results in dropped users.

      Steps to Reproduce

      1. Check licensed user count on the license screen
      2. Page over licensed users starting from /rest/api/1.0/users?permission=LICENSED_USER&limit=1000
      3. Observe that the total number of users returned via REST does not match the licensed user count

      Expected Results

      All users with the specified permission are returned.

      Actual Results

      A subset of the users are returned, with more or less dropped depending on the page size requested. (As in, requesting a page size of 501 will drop fewer users than requesting a page size of 1000.)

      Notes

      When retrieving users without filtering by permission, paging works without issue.

      Workaround

      Request a page size less than or equal to half the configured limit. By default, this means any page size of 500 or less will return all users. To allow requesting a larger page size, the configured limit must be raised to at least double the desired page size.

            [BSERV-11884] Filtering users by permission drops users depending on the page size

            Kristy made changes -
            Link New: This issue is duplicated by BSERV-11517 [ BSERV-11517 ]
            Bryan Turner (Inactive) made changes -
            Assignee New: Bryan Turner [ bturner ]
            Ben Humphreys made changes -
            Resolution New: Fixed [ 1 ]
            Status Original: In Progress [ 3 ] New: Closed [ 6 ]
            Ben Humphreys made changes -
            Fix Version/s New: 6.5.2 [ 88995 ]
            Fix Version/s New: 6.6.0 [ 88690 ]
            Fix Version/s New: 6.2.5 [ 88892 ]
            Fix Version/s New: 6.0.9 [ 88993 ]
            Fix Version/s New: 5.16.9 [ 88991 ]
            Fix Version/s New: 6.1.7 [ 88805 ]
            Fix Version/s New: 6.4.2 [ 88599 ]
            Fix Version/s New: 6.3.4 [ 88598 ]
            Bugfix Automation Bot made changes -
            Support reference count New: 1
            Bryan Turner (Inactive) made changes -
            Remote Link New: This issue links to "Bitbucket Server › Pull Request Build › BSERV-11884-bturner-fix-user-permission-search-paging (server-syd-bamboo)" [ 440113 ]
            Bryan Turner (Inactive) made changes -
            Status Original: Needs Triage [ 10030 ] New: In Progress [ 3 ]
            Bryan Turner (Inactive) made changes -
            Priority Original: Low [ 4 ] New: High [ 2 ]
            Bryan Turner (Inactive) made changes -
            Link New: This issue was split from BSERV-7571 [ BSERV-7571 ]
            Bryan Turner (Inactive) created issue -

              bturner Bryan Turner (Inactive)
              bturner Bryan Turner (Inactive)
              Affected customers:
              0 This affects my team
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: