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

User reindex is not triggered during Jira Data Center startup when JMX is disabled

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Low Low
    • None
    • 10.4.0, 10.5.0, 10.6.0, 10.7.0, 11.0.0
    • None

      Issue Summary

      The user index searcher does not reindex during Jira startup when JMX Monitoring is disabled. This breaks some fuzzy user suggestion components, such as user picker fields or the issue navigator (JQL search).

      For other causes, please refer to: Searcher not available in Jira Data Center user queries and project creation.

      Steps to Reproduce

      1. Disable JMX Monitoring.
      2. Restart Jira.
      3. Open an issue and type a username in a user picker field (e.g., assignee).

      Expected Results

      1. Reindex happens successfully during startup:
        2025-08-20 14:00:00,000+0000 main INFO      [c.a.j.c.embedded.ofbiz.IndexedUserDao] Reindex all users took: 80.00 ms
        
      2. The user picker provides fuzzy user suggestions based on the input.

      Actual Results

      1. No "Reindex all users took" message appears during startup.
      2. The user picker field doesn't return any suggestions and eventually displays an alert:
        The Jira server was contacted but has returned an error response. We are unsure of the result of this operation.
        
        • In the atlassian-jira.log file:
          2025-08-20 14:00:00,000+0000  http-nio-8080-exec-1 ERROR charlie 1x1x1 abcdef 0.0.0.0 /rest/api/1.0/users/picker [c.a.p.r.v2.exception.ThrowableExceptionMapper] Uncaught exception e1b3e2bc-fc08-47ba-af1f-4be53319bc16 thrown by REST service: Searcher not available at this moment
          java.lang.RuntimeException: Searcher not available at this moment
           at com.atlassian.jira.bc.user.search.DirectoryUserIndexer.lambda$internalSearch$6(DirectoryUserIndexer.java:243)
           at java.base/java.util.Optional.orElseThrow(Optional.java:403)
           at com.atlassian.jira.bc.user.search.DirectoryUserIndexer.internalSearch(DirectoryUserIndexer.java:243)
           at com.atlassian.jira.bc.user.search.DirectoryUserIndexer.search(DirectoryUserIndexer.java:228)
           at com.atlassian.jira.crowd.embedded.ofbiz.IndexedUserDao.lambda$trySearching$11(IndexedUserDao.java:438)
           at com.atlassian.jira.crowd.embedded.ofbiz.IndexedUserDao.tryMapping(IndexedUserDao.java:453)
           at com.atlassian.jira.crowd.embedded.ofbiz.IndexedUserDao.lambda$trySearching$12(IndexedUserDao.java:444)
           at java.base/java.util.Optional.flatMap(Optional.java:289)
           at com.atlassian.jira.crowd.embedded.ofbiz.IndexedUserDao.trySearching(IndexedUserDao.java:436)
           at com.atlassian.jira.crowd.embedded.ofbiz.IndexedUserDao.search(IndexedUserDao.java:427)
           at com.atlassian.jira.crowd.embedded.ofbiz.DelegatingUserDao.search(DelegatingUserDao.java:124)
           at com.atlassian.jira.crowd.embedded.ofbiz.SwitchingUserDao.search(SwitchingUserDao.java:30)
           at com.atlassian.crowd.directory.AbstractInternalDirectory.searchUsers(AbstractInternalDirectory.java:760)
           at com.atlassian.crowd.directory.AbstractForwardingDirectory.searchUsers(AbstractForwardingDirectory.java:141)
           at com.atlassian.crowd.manager.directory.DirectoryManagerGeneric.searchUsers(DirectoryManagerGeneric.java:381)
           at com.atlassian.jira.bc.user.search.DefaultUserPickerSearchService.searchCrowdLimitedResults(DefaultUserPickerSearchService.java:651)
           at com.atlassian.jira.bc.user.search.DefaultUserPickerSearchService$CrowdSearchSource.search(DefaultUserPickerSearchService.java:272)
           at com.atlassian.jira.bc.user.search.IteratedSearcher.iteratedSearch(IteratedSearcher.java:43)
           at com.atlassian.jira.bc.user.search.DefaultUserPickerSearchService.attemptFindUsersWithCrowd(DefaultUserPickerSearchService.java:238)
           at com.atlassian.jira.bc.user.search.DefaultUserPickerSearchService.findUsersGeneric(DefaultUserPickerSearchService.java:415)
           at com.atlassian.jira.bc.user.search.DefaultUserPickerSearchService.findUsers(DefaultUserPickerSearchService.java:282)
           at com.atlassian.jira.bc.user.search.DefaultUserPickerSearchService.findUsers(DefaultUserPickerSearchService.java:278)
           at com.atlassian.jira.bc.user.search.DefaultUserPickerSearchService.findUsers(DefaultUserPickerSearchService.java:155)
           at com.atlassian.jira.bc.user.search.DefaultUserPickerSearchService.findUsers(DefaultUserPickerSearchService.java:146)
           [...]
           at com.atlassian.jira.rest.v1.users.UserPickerResource.getUsers(UserPickerResource.java:174)
           at com.atlassian.jira.rest.v1.users.UserPickerResource.getUsersResponse(UserPickerResource.java:107)
          

      Workaround

      Workaround 1

      Enable JMX monitoring, as described on Live monitoring using the JMX interface.

      Workaround 2

      Trigger a user reindex manually by adding/removing/updating/reordering any user directory.

              Unassigned Unassigned
              2f686c4befb3 Anton Miniailo
              Votes:
              1 Vote for this issue
              Watchers:
              5 Start watching this issue

                Created:
                Updated: