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

Negative remaining estimate when doing a re-index all

    XMLWordPrintable

Details

    Description

      Summary

      Re-indexing a JIRA Application completes successfully but throws the error message below in the logs:
      java.lang.IllegalArgumentException: Remaining estimate must be a non-negative number: ...

      Steps to Reproduce

      1. Log in as a JIRA System Administrator.
      2. Trigger a re-index in JIRA.

      Expected Results

      No errors are displayed in the logs.

      Actual Results

      The exceptions below are thrown in the logs:
      Background Re-index

      2016-03-23 10:48:49,750 JiraTaskExectionThread-4 WARN admin 648x326x1 11u20ol 0:0:0:0:0:0:0:1 /secure/admin/jira/IndexReIndex.jspa [c.a.j.i.i.indexers.impl.ProgressIndexer] Issue: 'TSP-5' has an uncalculable percentage
      java.lang.IllegalArgumentException: Remaining estimate must be a non-negative number: '-1234'
      	at com.atlassian.jira.issue.fields.AbstractProgressBarSystemField.calculateProgressPercentage(AbstractProgressBarSystemField.java:100)
      	at com.atlassian.jira.issue.index.indexers.impl.ProgressIndexer.addIndex(ProgressIndexer.java:48)
      	at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory$Builder.add(DefaultIssueDocumentFactory.java:84)
      	at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory$Builder.addAll(DefaultIssueDocumentFactory.java:75)
      	at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.apply(DefaultIssueDocumentFactory.java:50)
      	at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.apply(DefaultIssueDocumentFactory.java:30)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer$DefaultDocumentCreationStrategy.get(DefaultIssueIndexer.java:553)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$reindexIssues$1(DefaultIssueIndexer.java:166)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$null$2(DefaultIssueIndexer.java:305)
      	at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:7)
      	at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:5)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$perform$3(DefaultIssueIndexer.java:303)
      	at com.atlassian.jira.issue.util.DatabaseIssuesIterable.foreach(DatabaseIssuesIterable.java:58)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer.perform(DefaultIssueIndexer.java:282)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer.reindexIssues(DefaultIssueIndexer.java:162)
      	at com.atlassian.jira.issue.index.DefaultIndexManager.doBackgroundReindex(DefaultIndexManager.java:917)
      	at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexAll(DefaultIndexManager.java:316)
      	at com.atlassian.jira.issue.index.DefaultIndexManager.reIndexIssuesInBackground(DefaultIndexManager.java:386)
      	... 3 filtered
      	at java.lang.reflect.Method.invoke(Method.java:497)
      	at com.atlassian.jira.config.component.SwitchingInvocationHandler.invoke(SwitchingInvocationHandler.java:22)
      	at com.sun.proxy.$Proxy9.reIndexIssuesInBackground(Unknown Source)
      	at com.atlassian.jira.util.index.CompositeIndexLifecycleManager.reIndexIssuesInBackground(CompositeIndexLifecycleManager.java:103)
      	at com.atlassian.jira.web.action.admin.index.ReIndexBackgroundIndexerCommand.doReindex(ReIndexBackgroundIndexerCommand.java:33)
      	at com.atlassian.jira.web.action.admin.index.AbstractAsyncIndexerCommand.call(AbstractAsyncIndexerCommand.java:54)
      	at com.atlassian.jira.web.action.admin.index.ReIndexBackgroundIndexerCommand.call(ReIndexBackgroundIndexerCommand.java:16)
      	at com.atlassian.jira.web.action.admin.index.AbstractAsyncIndexerCommand.call(AbstractAsyncIndexerCommand.java:24)
      	at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:453)
      	at com.atlassian.jira.task.TaskManagerImpl$TaskCallableDecorator.call(TaskManagerImpl.java:421)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at com.atlassian.jira.task.ForkedThreadExecutor$ForkedRunnableDecorator.run(ForkedThreadExecutor.java:216)
      	at java.lang.Thread.run(Thread.java:745)
      

      Locked Re-index

      2016-03-23 10:49:04,181 IssueIndexer:thread-2 WARN admin 649x363x1 11u20ol 0:0:0:0:0:0:0:1 /secure/admin/jira/IndexReIndex.jspa [c.a.j.i.i.indexers.impl.ProgressIndexer] Issue: 'DEMO-5' has an uncalculable percentage
      java.lang.IllegalArgumentException: Remaining estimate must be a non-negative number: '-1234'
      	at com.atlassian.jira.issue.fields.AbstractProgressBarSystemField.calculateProgressPercentage(AbstractProgressBarSystemField.java:100)
      	at com.atlassian.jira.issue.index.indexers.impl.ProgressIndexer.addIndex(ProgressIndexer.java:48)
      	at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory$Builder.add(DefaultIssueDocumentFactory.java:84)
      	at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory$Builder.addAll(DefaultIssueDocumentFactory.java:75)
      	at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.apply(DefaultIssueDocumentFactory.java:50)
      	at com.atlassian.jira.issue.index.DefaultIssueDocumentFactory.apply(DefaultIssueDocumentFactory.java:30)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer$DefaultDocumentCreationStrategy.get(DefaultIssueIndexer.java:553)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer$IndexIssuesOperation.perform(DefaultIssueIndexer.java:377)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer$IndexIssuesOperation.perform(DefaultIssueIndexer.java:366)
      	at com.atlassian.jira.issue.index.DefaultIssueIndexer.lambda$null$2(DefaultIssueIndexer.java:305)
      	at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:7)
      	at com.atlassian.jira.index.SimpleIndexingStrategy.get(SimpleIndexingStrategy.java:5)
      	at com.atlassian.jira.index.MultiThreadedIndexingStrategy$1.call(MultiThreadedIndexingStrategy.java:33)
      	at com.atlassian.jira.index.MultiThreadedIndexingStrategy$1.call(MultiThreadedIndexingStrategy.java:31)
      	at com.atlassian.jira.util.concurrent.BoundedExecutor$2.call(BoundedExecutor.java:68)
      	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      	at java.lang.Thread.run(Thread.java:745)
      

      Workaround

      Find the issue with the problem and manually edit the 'Remaining Estimate' field via the UI to a valid number (non-negative).
      Using the stack trace below as an example:

      1. Navigate to an issue.
      2. Edit the Remaining Estimate value and set it to a non-negative value.

      Attachments

        Activity

          People

            Unassigned Unassigned
            mlassau Mark Lassau (Inactive)
            Votes:
            10 Vote for this issue
            Watchers:
            11 Start watching this issue

            Dates

              Created:
              Updated: