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

Backrgound Reindexing and Index Recovery throws NPE

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • Low
    • None
    • 6.4.6
    • None

    Description

      Description:

      When using the Background Reindex or Index Recovery functionality, users will encounter a 500 error page which will display a stack trace similar to the following:

      Referer URL: http://jira-dev/secure/admin/jira/IndexProgress.jspa?taskId=15203 java.lang.NullPointerException java.lang.NullPointerException 	at com.atlassian.jira.web.action.admin.index.IndexAdminImpl.doProgress(IndexAdminImpl.java:395) 	at sun.reflect.GeneratedMethodAccessor1683.invoke(Unknown Source) 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 	at java.lang.reflect.Method.invoke(Method.java:606) 	at webwork.util.InjectionUtils$DefaultInjectionImpl.invoke(InjectionUtils.java:70) 	at webwork.util.InjectionUtils.invoke(InjectionUtils.java:56) 	at webwork.action.ActionSupport.invokeCommand(ActionSupport.java:438) 	at webwork.action.ActionSupport.execute(ActionSupport.java:157) 	at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:88) 	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39) 	at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31) 	at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16) 	at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35) 	at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:225) 	at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:154) 	at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:152) 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

      It seems like the actual indexing process (Background Reindex or Index Recovery) completes in the logs:

      Example from Background Reindex

      2015-06-19 09:11:38,563 ISSUE-indexQueue:thread-1 INFO SPNG3 763x115x1 1g85w3l 10.0.8.177 /secure/admin/IndexReIndex.jspa [action.admin.index.IndexAdminImpl] Re-indexing is 97% complete. Current index: Issue
      2015-06-19 09:11:43,912 JiraTaskExectionThread-4 INFO SPNG3 533x85327x2 bn3lrn 10.0.8.177 /secure/admin/IndexReIndex.jspa [jira.issue.index.DefaultIndexManager] 79795 issues reindexed in the background, in 1078825 millis.
      2015-06-19 09:11:43,929 JiraTaskExectionThread-4 ERROR SPNG3 533x85327x2 bn3lrn 10.0.8.177 /secure/admin/IndexReIndex.jspa [jira.util.index.CompositeIndexLifecycleManager] Reindex All In Background FAILED. Indexer: DefaultIndexManager: paths: [/data/jira/caches/indexes/comments, /data/jira/caches/indexes/issues, /data/jira/caches/indexes/changes, /data/jira/caches/indexes/worklogs]
      java.lang.NullPointerException
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer$3.consume(DefaultIssueIndexer.java:337)...
      2015-06-19 09:11:43,931 JiraTaskExectionThread-4 INFO SPNG3 533x85327x2 bn3lrn 10.0.8.177 /secure/admin/IndexReIndex.jspa [action.admin.index.IndexAdminImpl] Re-indexing finished

      Example from Index Recovery

      2015-07-01 07:46:54,003 JiraTaskExectionThread-1 INFO spjsf 466x624023x1 17ake2e 10.0.8.78 /secure/admin/jira/IndexRecover.jspa [action.admin.index.IndexAdminImpl] Re-indexing started
      2015-07-01 07:46:58,918 JiraTaskExectionThread-1 INFO spjsf 466x624023x1 17ake2e 10.0.8.78 /secure/admin/jira/IndexRecover.jspa [jira.index.ha.DefaultIndexRecoveryManager] Recovering search indexes - 1% complete...
      2015-07-01 07:47:05,305 JiraTaskExectionThread-1 INFO spjsf 466x624023x1 17ake2e 10.0.8.78 /secure/admin/jira/IndexRecover.jspa [jira.index.ha.DefaultIndexRecoveryManager] Recovering search indexes - 20% complete...
      2015-07-01 07:47:05,341 JiraTaskExectionThread-1 INFO spjsf 466x624023x1 17ake2e 10.0.8.78 /secure/admin/jira/IndexRecover.jspa [action.admin.index.IndexAdminImpl] Index Recovery finished

      Steps to Reproduce

      (i)I have not been able to reproduce this locally with Background Reindexing, but I HAVE been able to reproduce locally using the Index Recovery functionality. These steps refer to that process

      1. Set up Index Recovery
      2. Allow for the Index Recovery process to run at the appointed time (for testing, you can set the time for 5 or 10 minutes in the future)
      3. Once an index recovery backup zip is created, enter in the appropriate zip file name into the UI and click Recover.
      4. Near the end of the recovery process, note the 500 error page.

      Workaround

      Since the actual indexing process seems to work fine, a workaround may not be needed. However, users can run a full, locking index in lieu of either process to rebuild their indexes from the database if their situations warrant it.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jburke@atlassian.com Justin Burke (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: